我正在用Java编写一个项目。 我有一个结构,我有对象A,B和C的实例,所有这些都扩展了类Parent。
我想要一个Parent类型的所有对象的列表 - 即我想在此列表中存储任何类型为A,B或C的对象。
我创建了一个带有函数
的列表类private class Item
{
private Parent parent;
public void addItem(Parent set){ /* adds set to the list */};
}
我最初的想法是做这样的事情:
A a = new A(); B b = new B();
addItem(a);
addItem(b);
但是a和b不是父母,他们是A和Bs。
有人可以提出一种方法,可以将As,Bs,Cs的实例添加到父母列表中吗?
答案 0 :(得分:0)
我相信你的意思是你如何将a,b,c多态化为他们的父超类型?好吧,因为他们将父类型子类型为你定义的add方法,所以它应该隐式地将你的子类型转换为父类型。
否则,如何显式引用子类型的父类型是通过使用类型转换表达式...其表达方式如下:
T_Parent varname = (T_Parent) Name_Subclass;