Okay, ich weiß, dass der Titel klingt wie ein Duplikat, aber ich versichere Ihnen, ich habe versucht, ähnliche Fragen zu finden, aber keine scheint ganz zu passen. Wenn Sie es finden, dies ablehnen und es verlinken können, werde ich es gerne entfernen.Aufruf und Verknüpfung einer Kind- und Elternklasse in Java
Das Ziel ist ein einfaches: Ich möchte ein 'Bankkonto' Programm erstellen, das die Eingabe des Benutzers, wie die Bank-A/C-Nummer, Saldo und Typ, identifiziert die Art des Kontos basierend auf das und gibt es für den Benutzer zu sehen.
ich drei Klassen erstellt haben, wie unten (nur drei der Einfachheit halber) gezeigt
1) der übergeordneten Klasse ‚Ein beliebiges Konto keine Art‘
public class ParentAccount {
private String acctNumber;
private double balance;
public ParentAccount(String acctNumber, double balance){
this.acctNumber = acctNumber;
this.balance = balance;
}
public ParentAccount(){
this.acctNumber = "0";
this.balance = 0;
}
public String toString(){
return String.format("A/C no:%s, Balance=%.2f", acctNumber, balance);
}
}
2) Das Kind Klasse 'Rechnung eines Checking Typ'
public class CheckingAccount extends ParentAccount {
private int limit = 10000;
@Override
public String toString(){
return "Bank [" + super.toString() + ",limit=" + limit + "]";
}
}
3) der Haupt Ausführung Klasse
import java.util.Scanner;
public class Main {
public static void main(String[] args){
String BankAC;
Double BankBalance;
String type;
Scanner scan = new Scanner(System.in);
System.out.println("Enter your Bank Account Number: ");
BankAC = scan.next();
System.out.printf("Now Enter the balance: ");
BankBalance = scan.nextDouble();
System.out.println("Now enter the type of bank account: ");
type = scan.next();
ParentAccount P1 = new ParentAccount(BankAC, BankBalance);
if("Checking".equals(type)){
ParentAccount P1 = new CheckingAccount();
System.out.println(P1);
}
}
}
Zum Beispiel:
I-Eingang Bank A/c als 11234, Balance als 100, Typ wie Checking
Ausgang: Bank A/C: 0 Stand: 0 Grenze = 10000
Von Was ich sagen kann, scheint der Code den DEFAULT-Konstruktor in meiner Elternklasse anstelle des Benutzerkonstruktors zu nehmen, was ich verstehen kann.
Was ich nicht bekommen kann ist, wie man das umgehen kann. Irgendwelche Vorschläge?
Sie einen 'ParentAccount' mit den vom Benutzer angegebenen Variablen zu erstellen, dann, wenn es sich um ein Girokonto ist man es wegwerfen (na ja, Sie ignorieren) und eine neue leere' CheckingAccount' schaffen, die Sie dann anzeigen. – Kayaman