0

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

我有我的鼠标位置和对象的位置,所以我可以很容易地找到它,但是我需要创建一个搜索函数来搜索我的 GUIClickable 对象,然后onClick()如果鼠标单击并释放对象,则调用它们的方法。

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

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

4

2 回答 2

0

I think what you want is a generified list

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

Now you can add any subclass of GUIClickableObject.

于 2013-11-11T23:31:21.763 回答
0

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

为什么呢。您应该能够创建一个数组列表,它将接受 GUIClickableObjects 的子类对象。如果您想专门检查对象属于哪个子类,您可以简单地进行“实例”检查

如何在运行时检查子类是否是类的实例?

此外,请详细说明您的想法或面临的问题。

于 2013-11-11T23:34:59.407 回答