这个地方要怎么实现:
getVolume()方法用于计算柱体的体积,toString()方法用于返回一个字符串,根据底面图形的类型返回“这是一个圆柱体”或“这是一个长方体”。
```java
package Pillar;
public class Circle extends GeometricObject{
double r,area;
Circle(double r){
this.r=r;
}
public double getArea() {
area=Math.PI*r*r;
return area;
}
}
package Pillar;
public abstract class GeometricObject {
abstract double getArea();
}
package Pillar;
public class Pillar {
GeometricObject bottom;
double height;
double v;
Pillar(GeometricObject b,double h){
bottom=b;
height=h;
}
public double getVolume() {
v=bottom.getArea()*height;
return v;
}
public String toString() {
if(){
return "这是一个圆柱体";
}
}//问题:怎么判断是底面是圆还是矩形。
package Pillar;
public class PillarDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
GeometricObject cir=new Circle(3.5);
System.out.println("这个圆的面积是:"+cir.getArea());
Pillar pill=new Pillar(cir,2.3);
/*System.out.println("这是一个圆柱体,其面积为:"+pill.getVolume());*/
GeometricObject cir2=new Rectangle(4.8,3.2);
Pillar pill2=new Pillar(cir2,7.4);
/*System.out.println("这是一个长方体,其面积为:"+pill2.getVolume());*/
}
}
package Pillar;
public class Rectangle extends GeometricObject{
double h,w,area;
Rectangle(double h,double w){
this.h=h;
this.w=w;
}
public double getArea() {
area=h*w;
return area;
}
}
用instanceof 判断 bottom对象的类型,为Rectangle.class 就是长方体