Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中初始化抽象类型的列表,以便稍后向列表中添加子类型_Java_List_Collections_Abstract Class - Fatal编程技术网

如何在java中初始化抽象类型的列表,以便稍后向列表中添加子类型

如何在java中初始化抽象类型的列表,以便稍后向列表中添加子类型,java,list,collections,abstract-class,Java,List,Collections,Abstract Class,tldr:如何创建抽象类型BankAccount的列表并向列表中添加具体的子类型 在java中,我有一个名为BankAccount的类。这是一个抽象类,因为我不希望任何人使用常规银行账户,他们应该使用子类型SavingsAccount、CheckingAccount、VacationAccount 我希望在customer类中有一个名为accounts的列表属性。在类定义中,我添加了一个这样的属性,并且没有初始化它。在构造函数中,我想根据用户在构造函数中指定的内容添加一个帐户,但是当我这样做时,

tldr:如何创建抽象类型BankAccount的列表并向列表中添加具体的子类型

在java中,我有一个名为BankAccount的类。这是一个抽象类,因为我不希望任何人使用常规银行账户,他们应该使用子类型SavingsAccount、CheckingAccount、VacationAccount

我希望在customer类中有一个名为accounts的列表属性。在类定义中,我添加了一个这样的属性,并且没有初始化它。在构造函数中,我想根据用户在构造函数中指定的内容添加一个帐户,但是当我这样做时,调用add()时会出现错误

看起来像这样

List<BankAccount> accounts;

accounts.add(new CheckingAccount() );
列出账户;
accounts.add(新CheckingAccount());
这样行吗?我做错了什么。我试过了

List<BankAccount> accounts = new List<BankAccount>(); 
List accounts=new List();
但这不起作用

也许你的意思是:

List<BankAccount> accounts = new ArrayList<BankAccount>();
List accounts=new ArrayList();

只是一个接口,您应该在创建实例时使用具体的实现,例如。

您不能实例化列表,您需要选择一个实现。我不知道!哈哈,我来自.NET,在那里列表就是列表,ArrayList就是ArrayList等等,这很有道理。在.NET中我也可以这样做,但我更容易识别,因为接口以“I”开头。您可能还想给变量起个名字。