Letzte Änderung:
20.03.2012
Der Hauptmann zog seinen Säbel und schoß den Angreifer nieder.
20.03.2012
Spruch des Tages
Auszug aus einem Kinderaufsatz:Der Hauptmann zog seinen Säbel und schoß den Angreifer nieder.
Überladen von Konstruktoren
Nicht nur Klassen, sondern auch Konstruktoren können überladen werden. Sie werden nur anhand der Signatur unterschieden.
Klasse Objekt = new Klasse();
Klasse anderesObjekt = new Klasse(Wert1);
Klasse nochEinAnderesObjekt = new Klasse(Wert1, Wert2);
In der jeweiligen Klasse kann ein Konstruktor mit der Anweisung this(Signatur); aufgerufen werden. Diese Anweisung darf nur in Konstruktoren als erste Anweisung genutzt werden.
Beispiel:
-----------Dateiname: Konstruktoren_ueberladen_M.java-----Speicherort: c:\Java
import de.Pakete.*; public class Konstruktoren_ueberladen_M { public static void main(String[] args) { Konto NoBodyKonto = new Konto(); System.out.printf("n%s--%dnn", NoBodyKonto.getStName(), NoBodyKonto.getiKontostand()); Konto MeierKonto = new Konto(2000); System.out.printf("n%s--%dnn", MeierKonto.getStName(), MeierKonto.getiKontostand()); Konto KoenigKonto = new Konto("Koenig",50000); System.out.printf("n%s--%dnn", KoenigKonto.getStName(), KoenigKonto.getiKontostand()); } } -----------Dateiname: Konto.java-----Speicherort: c:\Java\de\Pakete package de.Pakete; public class Konto { private String stName; private int iKontostand; public Konto() { this.stName = "Mustermann"; this.iKontostand = 0; System.out.printf("nKonto wurde eingerichtet"); } /*Alternativ: public Konto() { this.setStName("Mustermann"); this.setiKontostand(0); System.out.printf("nKonto wurde eingerichtet"); } */ public Konto(int n) { this(); this.iKontostand = n; } /*Alternativ: public Konto(int n) { this(); this.setiKontostand(n); } */ public Konto(String n, int k) { this(k); this.stName = n; } /* public Konto(String n, int k) { this(k); setStName(n); } */ public String getStName() { return this.stName; } public int getiKontostand() { return this.iKontostand; } public void setStName(String wert) { this.stName = wert; } public void setiKontostand(int wert) { this.iKontostand = wert; } }