【发布时间】:2017-09-11 23:42:36
【问题描述】:
我正在做一个物理模拟。
我有一个ArrayList,它包含我模拟中的所有对象。我有一个父类:Shape,还有两个子类:Circle 和 Rectangle。
当然,父类没有draw() 方法,但每个子类都有。因此,当我通过列表循环绘制每个元素时,它不允许我,因为Shape 类中没有draw() 方法(因为我将列表定义为ArrayList<Shape>,并为每个新元素添加一个子类实例)。
有没有一种方法可以很好地解决这个问题?
【问题讨论】:
-
你想要一个
abstract方法。 -
我尝试将形状类定义为抽象,然后添加抽象方法绘制,但仍然没有工作@SLaks
-
如果你真的在 ArrayList 中创建一个 Circle 对象,那么它就可以正常工作
-
现在可以使用了,谢谢!
-
我很困惑这个问题是如何获得 5 票的,因为在过去 20 年的任何 Java 基础教程和继承中,它已经被回答了 1000 次。而且,几乎所有的书都准确地对待 Shape 示例,谈论抽象方法。呵呵。
标签: java class parent-child simulation