关于抽象类的一个例题
abstract class Figure{
double dim1;
double dim2;
Figure(double a,double b){
dim1=a;
dim2=b;
}
abstract double area(); //为什么没有它会出错呢
}
class Rectangle extends Figure{
Rectangle(double a,double b){
super(a,b);
}
double area(){ //不是子类自己的方法吗?
System.out.println("Inside Area for Rectangle.");
return dim1*dim2;
}
}
class Triangle extends Figure{
Triangle(double a,double b){
super(a,b);
}
double area(){
System.out.println("Inside Area for Triangle.");
return dim1*dim2/2;
}
}
class AbstractAreas{
public static void main(String args[]){
Rectangle r=new Rectangle(9,5);
Triangle t=new Triangle(10,8);
Figure figref;
figref=r;
System.out.println("Area is"+figref.area());//这个area()方法不是子类的吗?
figref=t;
System.out.println("Area is"+figref.area());
}
}