抽象类不能直接被实例化,也就是Shape不能被实例化抽象类中可以有抽象方法,也可以有普通方法
public class TestShape {
public static void main(String
[] args
) {
Circle circle
= new Circle();
circle
.setR(3);
System
.out
.println("圆形:");
circle
.getArea();
System
.out
.println();
Triangle triangle
= new Triangle();
triangle
.setLength(3);
triangle
.setWidth(4);
System
.out
.println("长方形:");
triangle
.getArea();
triangle
.getLongth();
}
}
abstract class Shape {
public abstract void getArea();
public abstract void getLongth();
}
class Circle extends Shape{
private double r
;
public double getR() {
return r
;
}
public void setR(double r
) {
this.r
= r
;
}
@Override
public void getArea() {
System
.out
.println("面积:" + 3.14*r
*r
);
}
@Override
public void getLongth() {
System
.out
.println("周长:" + 3.14*r
*r
);
}
}
class Triangle extends Shape{
private double length
;
private double width
;
public double getLength() {
return length
;
}
public void setLength(double length
) {
this.length
= length
;
}
public double getWidth() {
return width
;
}
public void setWidth(double width
) {
this.width
= width
;
}
@Override
public void getArea() {
System
.out
.println("面积:" + length
*width
);
}
public void getLongth() {
System
.out
.println("周长:" + (length
+ width
)*2);
}
}
转载请注明原文地址: https://lol.8miu.com/read-23713.html