【发布时间】:2015-08-21 17:35:30
【问题描述】:
我正在尝试使用矩形、三角形和圆形等子类创建一个 Figure 类。但是,当我尝试编译它们时,它们都出现了相同的错误,这让我相信错误出现在 Figure 类中。错误:在调用超类型构造函数之前无法引用高度。
图:
public abstract class Figure{
public double width;
public double height;
public Figure(double width, double height){
this.width = width;
this.height = height;
}
public abstract double area();
public abstract double perimeter();
}
椭圆:
public class Ellipse extends Figure{
private double a;
private double b;
public Ellipse(){
a = width/2;
b = height/2;
}
public double area(){
return (Math.PI * a * b);
}
public double perimeter(){
return (2 * Math.PI * Math.sqrt((Math.pow(a,2) + Math.pow(b,2)))/2);
}
}
非常感谢。
【问题讨论】:
-
你必须在你的基类构造函数中调用超级构造函数。