java抽象类的用法

标签 java abstract-class

您好,我正在尝试在 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/

相关文章:

java - 在没有 Maven 的 Eclipse 中创建 src/main/java 文件夹结构

java - 抽象方法/避免强制转换

java - 使用自定义注释从抽象类调用特定子方法

c# - 为什么不需要实现这些抽象方法?

c# - 抽象类的单元测试保护方法

java - 我如何检查该条目是否已存在于表中或 servlet 中

Java 在单词中间用引号分隔字符串

java - 声音在 Java 中不起作用

c++ - 如何为抽象类创建二维数组

java - 通过 Java 中的按钮关闭数据库连接