【发布时间】:2015-08-01 22:34:47
【问题描述】:
由于我不知道如何表达我的问题,以便仅通过谷歌搜索获得帮助结果,我决定在这里提问。我只是在寻找一种方法来告诉一个方法,它应该让每个 Object 扩展一个特定的类。以下是我到目前为止尝试过的事情:
public void method( Object<? extends Component> obj );
public void method( Component c );
第二个的问题是我必须在 method() 接受它之前再次将每个实例转换为 Component,而第一个对我不起作用。谁能给我一个快速的解决方案?
【问题讨论】:
-
在调用方法之前需要将类强制转换为 Component,这很奇怪。这不应该是这样。你能提供一段需要强制转换的代码吗?您可能还有其他问题。
-
你到底是什么意思告诉方法来扩展某个类?
-
IEntity e = es.createEntity(); e.addComponent((Component)new Position(x, y, z));给你...
-
Object<? extends Component>没有意义 -
Object不是泛型类型,因此您的第一个解决方案将不起作用。您的第二个解决方案应该可以正常工作,并且可以接受任何组件或组件的子类型。
标签: java object inheritance methods parameters