java 1.9_JAVA-1.9-上机

该博客详细介绍了如何在Java中设计一个抽象类`Shape`,包括面积、周长和颜色属性,以及计算面积、周长和显示所有信息的抽象方法。然后通过继承`Shape`类创建了`Rectangle`和`Circle`两个子类,分别实现了矩形和圆的特性,并提供了相应的构造方法。在测试类`PolyDemo`中,实例化了这两个子类并调用了它们的`showAll`方法来展示信息。
摘要由CSDN通过智能技术生成

2、设计四个类,分别是:(知识点:抽象类及抽象方法)

(1)Shape表示图形类,有面积属性area、周长属性per,颜色属性color,有两个构造方法(一个是默认的、一个是为颜色赋值的),还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll输出所有信息,还有一个求颜色的方法getColor。

(2)2个子类:1)Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。2)Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea和showAll三个方法,另外又增加两个构造方法(为半径、颜色赋值的)。

(3)一个测试类PolyDemo,在main方法中,声明创建每个子类的对象,并调用2个子类的showAll方法。packagestudy;public abstract classShape {doublearea;double per;//perimeter

String color;publicShape() {

}publicShape(String color) {super();this.color =color;

}public abstract voidgetArea();public abstract voidgetPer();public abstract voidshowAll();publicString getColor() {returncolor;

}public voidsetColor(String color) {this.color =color;

}

}packagestudy;public class Rectangle extendsShape{doublelength;doublewidth;publicRectangle() {

}public Rectangle(double a, doubleb,String c) {super();

length=a;

width=b;

color=c;

}

@Overridepublic voidgetArea() {//TODO Auto-generated method stub

area=length*width;

}

@Overridepublic voidgetPer() {//TODO Auto-generated method stub

per=(length+width)*2;

}

@Overridepublic voidshowAll() {//TODO Auto-generated method stub

System.out.println("颜色是"+color+"面积是"+area+"周长是"+per);

}

}packagestudy;public class Circle extendsShape{doubleradius;publicCircle() {

}public Circle(doubleradius,String a) {super();this.radius =radius;

color=a;

}

@Overridepublic voidgetArea() {//TODO Auto-generated method stub

area=radius*radius*3.14;

}

@Overridepublic voidgetPer() {//TODO Auto-generated method stub

per=2*radius*3.14;

}

@Overridepublic voidshowAll() {//TODO Auto-generated method stub

System.out.println("颜色是"+color+"半径是"+radius+"面积是"+area+"周长是"+per);

}

}packagestudy;public classPolyDemo {public static voidmain(String[] args) {//TODO Auto-generated method stub

Rectangle r=new Rectangle(3,4,"月白");

r.getArea();

r.getPer();

r.showAll();

Circle c=new Circle(2.0,"橙黄");

c.getArea();

c.getPer();

c.showAll();

}

}

9cc2a1491c9369e82789ec7d28b61d37.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值