Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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.
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?
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?
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.
class Test {
float a, b, c;
void methode1() {
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
// jetzt eine Instanz erstellen und die Methode aufrufen ;)
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.