写一个计算图形面积的抽象例子:
1.先定义一个抽象类
public abstract class Shape {
//定义一个计算面积的抽象方法
public abstract double calcArea();
//抽象类中的构造方法不用于创建Shape类对象,而是用于被子类调用
public Shape(String name){
System.out.println(name+"面积");
}
public String toString(){
return "这是个图形";
}
}
2.在定义两个子类,一个是圆形,另一个是矩形
public class Circle extends Shape{
public float r;//圆的半径
public final float PI=3.14f;
public Circle(String name,float r) {
super(name);
this.r=r;
}
//重写Shape类的计算面积的抽象方法
public double calcArea() {
return PI*r*r;
}
}
public class Rectangle extends Shape{
private float l;//矩形的长
private float w;//矩形的宽
public Rectangle(String name,float l,float w) {
super(name);
this.l=l;
this.w=w;
}
//重写Shape类的计算面积的方法
public double calcArea() {
return l*w;
}
}
3.定义一个测试类
public class Test {
public static void main(String[] args) {
Shape s1=new Circle("圆形",2);
System.out.println(s1.calcArea());
Shape s2=new Rectangle("矩形",3,5);
System.out.println(s2.calcArea());
}
}