Implement a shape hierarchy. you must have your superclass shape and 2 subclasses two-dimensional shape and three-dimensional shape. Under two-dimensional shape, you have other subclasses, circle, square, and triangle. Under the three-dimensional shape you have the sphere, cube, and tetrahedron. Each two-dimensional shape should contain a method getArea to calculate the area of the two-dimensional shape. Each three-dimensional shape should have a method getArea and getVolume to calculate the surface area and volume, respectively, of the three-dimensional shape. Create a program that uses an array of shape references to objects of each concrete class in the hierarchy. The program should print a text description of the object to which each array element refers. Also, in the loop that processes all the shapes in the array, determine whether each shape is a two-dimensional shape or a three-dimensional shape. If a shape is a two-dimensional shape, display it's area. If a shape is a three-dimensional shape, display its area and volume.

im having a lot of trouble. i get that

```
import java.util.Random;
public class Shape {
}
```

and how

```
package Project4;
public class ThreeDimensionalShape extends Shape{
}
```

for three&twodimensional shapes

but my teachers wants us to put values for radius for circle&sphere, etc. i am having a really hard time with that and keep getting errors everytime i try putting in the value 2 for my radius. this is what i have so far:

```
package Project4;
public class Circle extends TwoDimensionalShape{
// declare instance variables
Circle (double diameter) {
this.diameter = diameter;
double radius = diameter / 2.0;
this.area = PI * radius * radius;
}
private static final double PI = Math.PI;
private double diameter;
private double area;
// area of circle
public double area () {
return area;
}
public static void main(String[] args)
{//declare local variables
Circle radius = new ;
}
}
```

where do i put it?