Netbeans IDE ist gut darin, Code zu erkennen, der Ihnen Probleme bereiten könnte. Warum wird für
keine Warnung ausgegeben? %Vor%vorausgesetzt, dass ich die Basisklassenfunktion foo () im Kindkonstruktor anrufe? Natürlich ist das vollkommen legitim, da das Basisobjekt durch den Punkt foo () erzeugt wird, aber foo () ist implizit eine virtuelle Methode, also würde ich wirklich eine Warnung erwarten wenn foo () als final .
Ich denke, dass die IDE eine Warnung ausgeben sollte, wenn Sie irgendeine Basisklassenfunktion von einem Kindklassenkonstruktor aufrufen, der nicht als endgültig markiert ist.
tut es.
Wenn Sie die Datei in NetBeans öffnen, sollten Sie eine gelbe Glühbirne (Hinweisanzeige) neben dem Aufruf von foo
sehen. Es ist ein Vorschlag, dass Sie entweder:
Wenn Sie es offensichtlicher haben möchten, gehen Sie zu Tools > Options
oder Edit > Preferences
oder Netbeans > Preferences
(abhängig von Ihrem Betriebssystem).
Wählen Sie Editor
Wählen Sie Hints
Setzen Sie Language
auf Java
Erweitern Sie Initialization
Wählen Sie Problematic call in the constructor
Ändern Sie Show as
in Error
Klicken Sie auf OK
Jetzt erhalten sowohl die Zeile als auch Ihre Datei ein rotes Fehler-Abzeichen.
Beachten Sie, dass all dies verhindert, dass Sie den Indikator ignorieren. Der Code ist immer noch legales Java, also hindert NB Sie nicht daran zu kompilieren.