Letzte Änderung:
20.03.2012



Spruch des Tages

Auszug aus einem Kinderaufsatz:

Der Hauptmann zog seinen Säbel und schoß den Angreifer nieder.
Java




Ü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; } }