我有一堂课:
class MyClass {
public MyClass getParent() { ... }
public MyClass[] getChildren() { ... }
....
}
和一个子类
MySubClass extends MyClass {
public String getId() { }
...
}
每次我使用getChildren()
或getParent()
的实例时MySubClass
,我都必须转换这些方法的结果,例如:
MySubClass sub = new MySubClass();
((MySubClass)sub.getParent()).getId();
有什么办法(通过语言或设计)来避免这种铸造吗?
感谢您的任何想法!
更新
我想要的是getParent()
并且getChildren()
总是返回它们被调用的实例的类型,例如sub.getChildren()
应该返回MySubClass[]