Hallo,
ich habe da echt ein Verständnisproblem, das ich auch mit nachlesen (etwa in der Java Insel) nicht ganz beseitigen konnte.
Erstmal bin ich schon des öfteren auf die Meldung "overrideable method call in constructor" von Netbeans gestoßen. Warum diese Meldung kommt, konnte ich mit nachlesen klären: Es kann Probleme mit einer Subclass geben. Ein Bsp für diese Warunung:
Was aber nun der beste Weg ist das zu lösen, das checke ich noch nicht ganz. Ein final vor setAusgabe beseitigt ihn mal schnell. Aber ich verstehe nicht, ob das der richtige Weg ist, diesen Fehler zu vermeiden. Sollte ich vielleicht meine Klasse überhaupt anders angehen in so einem Fall?
Generell möchte ich eben, dass bei einer Klasse, bei Initialisierung bestimmte Funktionen das erste Mal ausgeführt werden (wie im Bsp oben), um so zusagen einen default Zustand zu haben. Und da scheint mir eben logisch, dies über den Constructor zu machen. Dann müsste ich aber all die verwendeten Funktionen auf final setzen?
Danke für die Hilfe,
Wolfgang
ich habe da echt ein Verständnisproblem, das ich auch mit nachlesen (etwa in der Java Insel) nicht ganz beseitigen konnte.
Erstmal bin ich schon des öfteren auf die Meldung "overrideable method call in constructor" von Netbeans gestoßen. Warum diese Meldung kommt, konnte ich mit nachlesen klären: Es kann Probleme mit einer Subclass geben. Ein Bsp für diese Warunung:
Code:
public class SayIt {
private static String Ausgabe;
public SayIt (){
setAusgabe("Der default Wert");
}
public String getAusgabe() {
return Ausgabe;
}
public void setAusgabe(String out) {
Ausgabe = out;
}
}
Was aber nun der beste Weg ist das zu lösen, das checke ich noch nicht ganz. Ein final vor setAusgabe beseitigt ihn mal schnell. Aber ich verstehe nicht, ob das der richtige Weg ist, diesen Fehler zu vermeiden. Sollte ich vielleicht meine Klasse überhaupt anders angehen in so einem Fall?
Generell möchte ich eben, dass bei einer Klasse, bei Initialisierung bestimmte Funktionen das erste Mal ausgeführt werden (wie im Bsp oben), um so zusagen einen default Zustand zu haben. Und da scheint mir eben logisch, dies über den Constructor zu machen. Dann müsste ich aber all die verwendeten Funktionen auf final setzen?
Danke für die Hilfe,
Wolfgang