Anfängerfrage: Wo initialisieren?



  • Hallo,

    wo initialisiere ich eine Variable am besten? In der Klassendefinition? Oder im Konstruktor? Oder ist das egal? Oder darf man irgendwas nicht?

    Einfaches Beispiel:

    public class Auto {
    
       private double kmStand;       // So?
       private double kmStand = 0;   // Oder besser so?
    
       public Auto(){
          kmStand = 0;   // Kommt sowas hier rein?
       }
    }
    


  • Du kannst das direkt in der Klasse drin machen (außerhalb vom Ctor), außer der Init-Wert hängt von einem Argument ab, das an den Ctor übergeben wird, also sowas wie:

    class MyClass
    {
      private int arg;
      public MyClass(int arg)
      {
         this.arg=arg;  //init erst im Ctor möglich
      }
    }
    


  • Du kannst grundsätzlich beides machen. Die Initialisierung ist das, was du in der Klassendefinition machst.
    Im Konstruktor kannst du dann einen neuen Wert zuweisen.


Anmelden zum Antworten