public class test1 {
public static void main(String[] args) {
Point a=new Point();
a.Point(2, 3);
a.pointshow();
Circle s=new Circle(2,3);
s.rad=4;
s.areashow();
Cylinder v = new Cylinder(2,3,4);
v.height=2;
v.volshow();
}
}
public class Point {
public int x=0;
public int y=0;
public void Point(int x,int y){
this.x = x;
this.y = y;
}
public void pointshow(){
System.out.println("圆心坐标为:"+"("+x+","+y+")");
}
}
class Circle extends Point{
public Circle(int x, int y) {
super();
}
public double rad=0;
final double PI = 3.14;
public double area() {
return PI*rad*rad;
}
public void areashow(){
System.out.println("圆的半径为:"+rad);
System.out.println("圆的面积为:"+area());
}
}
class Cylinder extends Circle{
public double height=0;
public Cylinder(int x, int y, double rad) {
super(x, y);
}
public double vol() {
return PI*rad*rad*height;
}
public void volshow(){
System.out.println("圆柱体的高为:"+height);
System.out.println("圆柱体的体积为:"+vol() );
}
}
因为rad在构造方法中,没有进行赋值,父类Circle给了一个初始值0。按以下方式修改:
public Cylinder(int x, int y, double rad) {
super(x, y);
this.rad = rad;
}