/**

Testumgebung für die Klasse Punkt mit Finalisierer:
Der Finalisierer wird hier explizit aufgerufen und protokolliert.

Das Programm liefert folgende Ausgabe:

Maximaler Punkt (Objektmethode): p2(3,3), Anzahl= 2
Maximaler Punkt (Klassenmethode): p2(3,3), Anzahl= 2
        >>>Aufruf finalize(): 2
---. neue AnzahlPunkte : 1
        >>>Aufruf finalize(): 1
---. neue AnzahlPunkte : 0
AnzahlPunkte = 1

*/
/*-----------------------------------------------------------------------*/

class PunktTest
{  
   public static void main(String[] argv)
   {
      Punkt p1 = new Punkt(1, 2, "p1"),
            p2 = new Punkt(3, 3, "p2");
      Punkt max;

// Objektmethode
      max = p1.maximum(p2);
      max.zeige("Maximaler Punkt (Objektmethode)");

// Klassenmethode
      max = Punkt.maximum(p1, p2);      
      max.zeige("Maximaler Punkt (Klassenmethode)");

//      p1.finalize();
//      p2.finalize();

      p1 = new Punkt();
      System.out.println("AnzahlPunkte = " + Punkt.AnzahlPunkte);
   }
}
