【问题标题】:Calling an abstract method from a group of abstract subclasses从一组抽象子类中调用一个抽象方法
【发布时间】:2013-11-11 23:27:38
【问题描述】:

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

我有我的鼠标位置和对象的位置,所以我可以很容易地找到它,但是我需要创建一个搜索函数来搜索我的 GUIClickable 对象,然后如果鼠标在目的。

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

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

【问题讨论】:

  • 发布代码的相关部分。

标签: java abstract-class subclassing abstract-methods


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多