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.