设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。
(2) 设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量radius、获取和设置radius值的public方法、计算圆面积的public方法。
(3) 设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量height、获取和设置height值的public方法、计算圆柱体体积的public方法。
(4) 建立若干个Cylinder对象,输出其轴心位置坐标、半径、高及其体积的值。
实验要求:
1) 每个类包含无参数和有参数的构造方法。构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。
2) 子类的构造方法调用父类的构造方法,对父类中的成员变量初始化。
程序如下:
public class test {
public static void main(String[] args) {
Circle c1=new Circle(100,110,10);
Cylinder c2=new Cylinder(12,32,34,13);
System.out.println("Circle center point:("+c1.center.x+","+c1.center.y+")");
System.out.println("Circle radius="+c1.radius);
System.out.println("Circle area="+c1.area());
System.out.println("Circle center point:("+c2.center.x+","+c2.center.y+")");
System.out.println("Circle radius="+c2.radius);
System.out.println("Circle area="+c2.area());
System.out.println("Cylinder valume="+c2.valume());
test test = new test();
}
}
class point{
protected int x;
protected int y;
public point(int x,int y){
this.x=x;
this.y=y;
}
public void show(){
System.out.print("x="+x+","+"y="+y);
}
}
class Circle extends point{
protected int radius;
double PI=3.1415926;
point center=new point(0,0);
public Circle(int x,int y,int r){
super(x,y);
center.x=x;
center.y=y;
radius=r;
}
public double area(){
return PI*radius*radius;
}
}
class Cylinder extends Circle{
protected int height;
public Cylinder(int x,int y,int r,int h){
super(x,y,r);
height=h;
}
public int getCylinder(){
return height;
}
public double valume(){
return Math.PI*radius*radius*height;
}
}