如何创建子类对象的java抽象类列表
我有一个抽象类,如何创建子类对象的java抽象类列表,java,list,abstract-class,Java,List,Abstract Class,我有一个抽象类,carowner。和两个子类个人和公司。 抽象类车主有字段: 名字 地址 下一步(引用下一个对象(个人或公司) 我需要一个车主列表,其中列表中的对象将是个人对象或公司对象(以及车主类型的间接对象)。 我知道如何创建车主类型的链接列表或数组列表,但这不是我的要求。我需要一个存储person和company对象的abstractclassi.e车主列表,每个对象引用另一个使用next的抽象类。听起来像是要存储创建的车主的所有实例,不管它们是person对象还是company对象。
carowner
。和两个子类<代码>个人<代码>和<代码>公司<代码>。
抽象类车主
有字段:
- 名字
- 地址
- 下一步(引用下一个对象(
或个人
)公司
车主
列表,其中列表中的对象将是个人
对象或公司
对象(以及车主
类型的间接对象)。
我知道如何创建
车主类型的链接列表
或数组列表
,但这不是我的要求。我需要一个存储person和company对象的abstractclassi.e车主列表,每个对象引用另一个使用next的抽象类。听起来像是要存储创建的车主
的所有实例,不管它们是person
对象还是company
对象。这可以通过以下方式实现:
abstract class CarOwner
{
private static final List<CarOwner> allCarOwners = new ArrayList<CarOwner>();
public static List<CarOwner> getAllCarOwners()
{
return Collections.unmodifiableList(allCarOwners);
}
CarOwner()
{
CarOwner.allCarOwners.add(this);
}
}
class Person extends CarOwner { }
class Company extends CarOwner { }
// To be used with
Person peson0 = new Person();
Person peson1 = new Person();
...
Company company0 = new Company();
Company company1 = new Company();
List<CarOwner> all = CarOwner.getAllCarOwners();
// Prints person0, person0 ..., company0, company1....
System.ut.println(all);
抽象类车主
{
私有静态最终列表allCarOwners=new ArrayList();
公共静态列表getAllCarOwners()
{
返回集合。不可修改列表(所有车主);
}
车主()
{
CarOwner.allcarowner.add(此);
}
}
类Person扩展CarOwner{}
类别公司扩展车主{}
//配合使用
Person peson0=新的Person();
Person peson1=新的Person();
...
公司0=新公司();
公司1=新公司();
List all=CarOwner.getAllCarowers();
//打印个人0,个人0…,公司0,公司1。。。。
System.ut.println(全部);
然而,如果这是要求的,那就有点可疑了,因为这有点像内置内存泄漏 现在还不清楚,你在问什么?你的要求是什么?你试过什么代码?哪个bleep教授在一个抽象数据类型上放了一个血腥的下一个字段,而这个抽象数据类型本身不是集合?他还在用C吗?