java - 是什么导致我的抽象类中的错误?
问题描述
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.”);
}
}
有人可以帮助解释第一行的错误吗?它可以修复吗?
即使上面的行是固定的,第二行仍然会产生错误。如何修复第二行?
解决方案
你不能实例化一个抽象类,这就是你用你的new Shape()
抽象类是您构建、扩展它们并创建具体类的基础,您将能够对其进行实例化。
推荐阅读
- masstransit - 在公共交通 5.2.1 中共享交通工具
- entity-framework-core - 脚手架(数据库优先)没有主键的 EF Core 表
- javascript - 反应路由器:功能无效反应子
- angularjs - 如何从服务函数中访问 $rootScope 值
- mysql - MySQL 查询 - 更优雅的选择?在 SELECT 的多个表中引用相同的列名
- angular - 尝试将数据作为参数传递给服务文件
- java - 不同的端点看似随机地获得授权
- php - # 如何使用 DateTime 类(处理转换、格式、差异和时区)
- java - Akka Streams onFailuresWithBackoff 未重新启动流程
- python - 在现有的张量流图中设置静态形状,其中动态形状用于输入