我目前正在学习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类是抽象的? –