next up previous contents index
Next: Initialisierer Up: Klassen und Objekte Previous: Klassenvariablen

Klassenmethoden

   analog zu den Klassenvariablen:

   public class Kreis
   { public double x,y;  // Koordinaten
     public double r;    // Radius

     // Instanz-Methode:
     public Kreis bigger(Kreis k)
     { if (k.r > r) 
          return k;
       else return this;
     }

     // Klassen-Methode:
     public static Kreis bigger(Kreis k1, 
                                Kreis k2)
     { if (k1.r > k2.r) 
          return k1;
       else return k2;
     }
   }

Verwendung der beiden Methoden:

   Kreis a = new Kreis(12.3);
   Kreis b = new Kreis(3.414);
   Kreis c = a.bigger(b);
   Kreis c = Kreis.bigger(a,b);

Besonderheiten:

     // Klassen-Methode:
     public static Kreis bigger(Kreis k1, 
                                Kreis k2)
     { if (k1.r > k2.r && 
           x > 0.0)         // FALSCH! 
          return k1;
       else return k2;
     }

Java-Compiler:

   Can't make a static reference to 
   nonstatic variable x in class Kreis.
     { if (k1.r > k2.r && x > 0.0) 
                          ^


next up previous contents index
Next: Initialisierer Up: Klassen und Objekte Previous: Klassenvariablen

Peter Pfahler, 1997