import java.awt.Color; // deklariert Nutzung einer Klasse aus einem "fremden" // Paket // alles in java.lang kann man ohne "import" Kommando verwenden! /** * Baum. demonstriert noch einmal Verwendung von Konstruktoren. * @author teicher */ public class Baum { public int groesse; public int posx; public int posy; private int nr; public Color farbe; public static int baueme = 0; // ein einziges mal, weil static! public Baum(int nr) { this.nr = nr; //speichern // this addressiert das Baum-Objekt in/mit dem der Construktor // aufgerufen wird/wurde ! Wichtig, weil sonst "nr" sich links und // rechts auf den Construktor-Parameter "nr" bezieht, nicht aber // auf den Member des selben Namens. hallo(); // oder "this.hallo()", kommt auf das selbe hinaus. baueme++; } public Baum(int nr, int gr, int x, int y) { this (nr); // wir "delegieren" vorübergehend an den anderen Konstruktor. groesse = gr; posx=x; posy=y; } public void hallo() { this.hallo("hello"); } /** * dieses hallo "ueberlädt" das Ursprüngliche hallo. Möglich, weil es * eine andere Signatur (="Komposition der Parameter-Typen") hat. */ public void hallo(String begruessung) { System.out.println(begruessung + " läuft mit "+nr+" im Objekt"+ this); // this addressiert wieder das Baum-Objekt in/mit dem die Methode // aufgerufen wird/wurde. Angezeigt wird die "interne Kennung" des Objekts. } public static void main(String[] x) { Baum b = new Baum(2); Baum c = new Baum(3); b.hallo(); c.hallo(); } }