2014-03-02 70 views
-1

我有一个抽象类carowners。和两个子类personcompany。 抽象类carowners具有字段:如何创建子类对象的java抽象类列表

  • 名称
  • 地址
  • 下(参考下一个对象(或personcompany))。

我需要的carowners的列表,其中该列表中的对象将是某个Person对象或Company - 对象(和CarOwner型的间接对象)。 我知道如何创建类型CarOwnersLinkedlistArrayList,但它不是我的要求。我需要一个abstractclassi.e carowners列表来存储人员和公司对象,每个对象引用另一个使用抽象类中的next的对象。

+0

现在还不清楚,你在问什么 –

+1

*你的要求是什么? –

+0

你试过了什么代码? –

回答

0

听起来像是你要存储的创建,无论它们是否是Person对象或Company对象CarOwner的所有实例。这可以来实现这样的:

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); 

但是,如果这是什么要求,它是有点怀疑,因为它像一个内置的内存泄漏。