Was ist falsch mit überschreibbare Methode aufrufen in Konstruktoren?

Ich habe eine Wicket-Seite-Klasse, legt den Titel der Seite abhängig von dem Ergebnis einer abstrakten Methode.

public abstract class BasicPage extends WebPage {

    public BasicPage() {
        add(new Label("title", getTitle()));
    }

    protected abstract String getTitle();

}

NetBeans warnt mich mit der Meldung "Overridable method call in constructor", aber was sollte falsch mit ihm? Die einzige alternative die ich mir vorstellen kann ist die übergabe der Ergebnisse der ansonsten abstrakten Methoden der super-Konstruktor in einer Unterklasse. Aber das könnte sein, schwer zu Lesen mit vielen Parametern.

Ich bin ein .NET-Entwickler, aber sah dies ein und war daran interessiert, warum es würde davor warnen, da ich eine ähnliche Sache in Zeiten, in C#. Dieser Artikel scheint zu geben, eine Angabe darüber, warum es ist eine Warnung: javapractices.com/topic/TopicAction.do?Id=215 es ist Also alles zu tun, und wenn die Reihenfolge, in der Objekt-Hierarchie ist inialised.
In C# haben wir das gleiche problem: msdn.microsoft.com/en-us/library/ms182331.aspx

InformationsquelleAutor deamon | 2010-08-04

Schreibe einen Kommentar