如何创建子类对象的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吗?