Ich möchte Werte in meinem Arraylist der abstrakten Klasse type.Below füllen ist mein Codeinitialisieren Arraylist von Typ Abstrakte Klasse
public abstract class Account {
private int accountId;
private int customerId;
private double balance;
public Account(int accountId, int customerId, double balance) {
this.accountId = accountId;
this.customerId = customerId;
this.balance = balance;
}
public abstract double deposit(double sum);
public abstract double withdraw(double sum);
}
Vor meiner abstrakten Klasse ist. Jetzt habe ich eine andere Klasse bank
, in der ich an arraylist
definieren und erklären möchte, in dem ich meine Werte füllen kann. Ich erklärte Arraylist als
ArrayList<Account> al=new ArrayList<>();
Jetzt möchte ich für die weitere Verwendung Werte dieser Arraylist zu übergeben, aber ich couldnot, da wir nicht abstrakt class.I diesen Code versucht instanziiert mit Hauptmethode Werte in der Klasse zu füllen, aber couldnot es bekommen wegen des oben genannten Grundes
Account ac= new Account(1,100,25000);
ArrayList<Account>ac= new ArrayList<Account>();
ac.add(ac);
Sicher, Sie brauchen eine konkrete Klasse erstellen erstreckt 'Account' (auch ein anonymes wenn du willst) . Eine abstrakte Klasse hat ohne konkrete Implementierungen keinen Sinn, da ein bestimmtes Verhalten nicht definiert wurde. – Berger
Beachten Sie, dass diese Frage nicht wirklich etwas mit ArrayList zu tun hat - nur die abstrakte Klasse und der Versuch, eine Instanz davon zu erstellen, reichen aus. –
Wie Sie gesagt haben, können Sie nicht instanziieren. So ist die Zeile "Account ac = new Account (1.100,25000);" unmöglich. Sie müssen eine weitere Klasse erstellen, die Ihre abstrakte Klasse erweitert. – JanLeeYu