3

tldr:抽象型BankAccountのリストを作成し、リストに具体的なサブタイプを追加する方法

Javaには、BankAccountというクラスがあります。誰にも通常のBankAccountを使用させたくないので、その抽象クラスです。サブタイプSavingsAccount、CheckingAccount、VacationAccountを使用する必要があります。

アカウントと呼ばれるリストである顧客クラスのプロパティが必要です。クラス定義で、私はそのようなプロパティを追加し、それを何にも初期化しませんでした。コンストラクターでは、ユーザーがコンストラクターで指定した内容に基づいてアカウントを追加したいのですが、これを行うと、add()の呼び出しでエラーが発生します。

こんな感じ

List<BankAccount> accounts;

accounts.add(new CheckingAccount() );

これは機能する必要がありますか?私は何を間違っているのですか。やってみた

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

しかし、それは機能しません。

4

1 に答える 1

10

多分あなたは意味しました:

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

Listは単なるインターフェースであり、インスタンスを作成するときは、たとえばArrayListなどの具体的な実装を使用する必要があります。

于 2012-04-14T18:27:45.200 に答える