您好,我正在尝试在 Eclipse 中执行此代码。
abstract class ShapeNew {
int length;
public abstract double area();
}
class Rect extends Shape{
Rect(int side){
this.length = side;
}
public double area(){
System.out.println("area of rectangle"+ length*length);
return length*length;
}
/**
* @param args
*/
public static class Area{
public static void main(String[] args) {
// TODO Auto-generated method stub
ShapeNew rect = new Rect(32);// I am unable to use this. The eclipse throws an error//
rect.area();
}
}
任何人都可以帮我解决这个问题吗?为什么我无法将 ShapeNew 的引用分配给 Rect 的对象? 我收到此错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from Rect to ShapeNew
最佳答案
您有一个拼写错误:您需要从您定义的类进行扩展:
类 Rect 扩展 ShapeNew {
(此外,考虑到面积函数平方的长度,您似乎实现了正方形而不是矩形)。
关于java抽象类的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17521381/