有点意思…
一开始用类的继承做的,过了后,参考了答案,没想到还有类的引用这么一说
掌握知识点
- 对象的引用传递
- 构造方法参数传递
通关源码
class Circle {
double π;
double r;
public Circle(double π, double r) {
this.π = π;
this.r = r;
}
double area(){ //类方法
return π * r * r;
}
}
public class Cylinder{
double height;
Circle circle; //引用Circle类,类似于继承
public Cylinder(Circle c, double height) { //Circle c == Circle circle
this.circle = c;
this.height = height;
}
double area2(){
return circle.area() * height; //引用circle对象方法
}
public static void main(String[] args) {
Circle circle = new Circle(Math.PI, 20);
Cylinder cylinder = new Cylinder(circle,50); //直接引用对象,调用有参构造
System.out.print("圆柱的体积为" + String.format("%.2f",cylinder.area2()));
}
}