求Java大神编一个程序 并求效果图
要求:定义一个表示学生信息的类Student,要求:①编写一个几何图形Geometry类,该类有一个int类型的成员shape,描述图形的类型,有一个方法calArea(...
要求:定义一个表示学生信息的类Student,要求:
① 编写一个几何图形Geometry类,该类有一个int类型的成员shape,描述图形的类型,有一个方法calArea( ),计算图形的面积。
② 编写Geometry的子类,Circle和Rect。在子类中定义自己所需要的成员,并通过声明String类型的成员shape隐藏父类的成员变量shape,重写父类的方法calArea。
③ 编写Circle类的子类ColorCircle类,增加成员color,测试它和直接父类之间、间接父类之间的继承关系。 展开
① 编写一个几何图形Geometry类,该类有一个int类型的成员shape,描述图形的类型,有一个方法calArea( ),计算图形的面积。
② 编写Geometry的子类,Circle和Rect。在子类中定义自己所需要的成员,并通过声明String类型的成员shape隐藏父类的成员变量shape,重写父类的方法calArea。
③ 编写Circle类的子类ColorCircle类,增加成员color,测试它和直接父类之间、间接父类之间的继承关系。 展开
2个回答
展开全部
简单写了一下,这些你最好自己看明白,都是很简单的东西。其中成员变量我没有用private修饰,因为是记事本手打,懒得写setget,Circle类的构造方法我没写,因为牵扯到一个ColorCircle类的继承。
整段代码运行时没有问题的,我已经测试过了。因为是在同一个包下,所以没写import
运行结果截图:
代码
//Geometry类
public class Geometry{
int shape;
public double calArea(){
return 0;
}
}
//Circle 类
public class Circle extends Geometry{
//声明半径变量
double i;
//声明shape
String shape;
public double calArea(){
return i*i*Math.PI;
}
}
//Rect类
public class Rect extends Geometry{
//声明长、宽
double w;
double h;
//声明shape
String shape;
//构造方法
public Rect(double w, double h){
this.w = w;
this.h = h;
}
public double calArea(){
return w*h;
}
}
//ColorCircle 类
public class ColorCircle extends Circle{
//声明color,你可以换成String
int color;
//构造方法
public ColorCircle(int color,double i){
this.color = color;
super.i = i;
}
}
//测试类
public class Test{
public static void main(String[] args){
Geometry g = new Geometry();
g.shape = 0;
Circle c = new Circle();
c.i=6.3;
c.shape = "圆";
Rect r = new Rect(4.5,9.3);
r.shape = "矩形";
System.out.println("Geometry: "+g.shape);
System.out.println("Circle: "+c.shape);
System.out.println("Rect: "+r.shape);
System.out.println("-----------------");
System.out.println("Geometry area: "+g.calArea());
System.out.println("Circle area: "+c.calArea());
System.out.println("Rect area: "+r.calArea());
System.out.println("-----------------");
ColorCircle cc = new ColorCircle(45165,7.3);
System.out.println("ColorCircle area: "+cc.calArea());
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询