Default Konstruktor

schlelia

Aktives Mitglied
Wenn ich eine Klasse (test) habe mit den drei Parametern a,b,c und dann ein neues Objekt von dieser Klasse erstelle (nur so: test p = new test()), werden die drei Parameter dann mit 0 initialisiert oder mit null?
 
Wenn ich eine Klasse (test) habe mit den drei Parametern a,b,c und dann ein neues Objekt von dieser Klasse erstelle (nur so: test p = new test()), werden die drei Parameter dann mit 0 initialisiert oder mit null?
Sowas kannst Du doch sehr gut ausprobieren. Was passiert denn?

Natürlich übersetzt es gar nicht. Der Compiler sucht einen Konstruktor ohne Parameter und wenn es den nicht gibt, dann gibt es bereits bei der Übersetzung einen Fehler.
 
der default konstruktor wird nur hergenommen wenn es in der datei gar keinen konstruktor gibt

falls es welche gibt musst du dich für einen entscheiden den es gibt
 
Wenn ich eine Klasse (test) habe mit den drei Parametern a,b,c und dann ein neues Objekt von dieser Klasse erstelle (nur so: test p = new test()), werden die drei Parameter dann mit 0 initialisiert oder mit null?
Deine Frage ist nicht eindeutig gestellt. Hat deine Klasse einen Konstruktor mit drei Parametern? Oder hat deine Klasse drei Instanzvariablen und keinen Konstruktor? Sprich: Was meinst du genau mit Parametern?

Beste Lösung: Mach ein minimales Beispiel!
 
Deine Frage ist nicht eindeutig gestellt. Hat deine Klasse einen Konstruktor mit drei Parametern? Oder hat deine Klasse drei Instanzvariablen und keinen Konstruktor? Sprich: Was meinst du genau mit Parametern?

Beste Lösung: Mach ein minimales Beispiel!
Nein hat sie nicht. Beispiel:
Java:
class test {
    float a, b, c;

    void methode1() {
     
    }
}
 
Ok, es geht also um die Initialisierung von Instanzvariablen. Wenn denen kein Wert zugewiesen wird, wird ihnen der "Null Wert" zugewiesen. Bei
- Integern ist dies 0
- Gleitkommazahlen 0.0
- boolean false
- Referenzen null

float ist eine Gleitkommazahl, also ist da 0.0 enthalten. Und bezüglich Deiner Frage: dein float kann niemals null sein! Die null Referenz kann nur Referenzen zugewiesen werden.
 
Ergänze die Variablen im temis Beispiel jetzt noch - weil's so schön war - mit dem Keyword "final".
Was passiert jetzt?

Noch ergänzend: Eine "float" Variable kann nicht null sein, eine "Float" Variable schon. Bei letzterem handelt es sich nämlich um eine Objektreferenz, während es sich beim ersteren um einen primitiven Datentyp handelt.
 

Zurück
Oben