首页 > 解决方案 > 是什么导致我的抽象类中的错误?

问题描述

public abstract Shape {
    public abstract void draw();
    public static void main(String[] args) { 
        ArrayList shapes = new ArrayList(); 
        shapes.add(new Shape()); // Line ONE
        shapes.get(0).draw(); // Line TWO
    } 

    public class Square extends Shape { 
        public void draw () {
            System.out.println(“The square is being drawn.”);
        }
}

有人可以帮助解释第一行的错误吗?它可以修复吗?

即使上面的行是固定的,第二行仍然会产生错误。如何修复第二行?

标签: javaabstract

解决方案


你不能实例化一个抽象类,这就是你用你的new Shape()

抽象类是您构建、扩展它们并创建具体类的基础,您将能够对其进行实例化。


推荐阅读