从一组抽象子类中调用抽象方法

时间:2013-11-11 23:27:38

标签: java abstract-class subclassing abstract-methods

我正在使用抽象方法GUIClickableObject创建一个扩展GUIObject类的抽象public void onClick()类。当我创建一个扩展GUIClickableObject的新子类时,我会根据Clickable对象的操作实例化抽象onClick()方法。

我有鼠标的位置和对象的位置,所以我可以轻松找到它,但我需要创建一个搜索功能,搜索我的GUIClickable对象,然后在鼠标点击和释放时调用他们的onClick()方法在对象上。

  • a)创建一个包含GUIClickable对象的不同子类的ArrayList / Array / Group,
  • b)迭代它们,然后c)然后调用抽象'onClick()'方法?

显然我不能只创建一个GUIClickableObjects的ArrayList并将我的子类插入其中,对吗?

2 个答案:

答案 0 :(得分:0)

我认为你想要的是一个通用列表

List<? extends GUIClickableObjects> gcos = new ArrayList<? extends GUIClickableObject>();

现在您可以添加GUIClickableObject的任何子类。

答案 1 :(得分:0)

  

显然我不能只创建一个GUIClickableObjects的ArrayList并将我的子类插入其中,对吗?

为什么会这样。你应该能够创建一个arraylist,它将接受子类的对象到GUIClickableObjects。如果你想专门检查属于哪个子类的对象你可以简单地做“实例”检查

How to check if a subclass is an instance of a class at runtime?

更多请详细说明您的想法或面貌。