我目前正在學習java。我的一項任務要求我們編寫一些繼承代碼,它將在Eclipse的控制檯中顯示一個矩形。試圖運行它時,我不斷收到錯誤信息,但無法弄清楚我做錯了什麼。任何提示或指導將不勝感激。無法實例化類型矩形
TestShape.java
public class TestShape {
public static void main(String[] args) {
double width = 5, length = 7;
Shape rectangle = new Rectangle(width, length);
System.out.println("Rectangle width: " + width + " and length: " + length
+ "\nResulting area: " + rectangle.area()
+ "\nResulting perimeter: " + rectangle.perimeter() + "\n");
}
}
Shape.java
public abstract class Shape {
public abstract double area();
public abstract double perimeter();
public double getArea() {
// TODO Auto-generated method stub
return 0;
}
public double getPerimeter() {
// TODO Auto-generated method stub
return 0;
}
}
Rectangle.java
public abstract class Rectangle extends Shape {
private final double width, height, area, perimeter;
public Rectangle(double width, double height) {
this.width = width;
this.height= height;
this.area = width * height;
this.perimeter = 2 * (width + height);
}
@Override
public double getArea() {
return this.area;
}
@Override
public double getPerimeter() {
return this.perimeter;
}
}
你不能像你那樣實例化一個抽象類 –
你不能實例化抽象類 - 它們只能被繼承。從'Rectangle'類的定義中移除'abstract'。 –
爲什麼你的Rectangle類是抽象的? –