Netbeans IDE è in grado di individuare il codice che potrebbe causare problemi. Perché un monito a non rilasciato perNetbeans IDE che non emette avvisi sui metodi chiamati in costruttori
public class Base
{
Base(...)
{
...;
}
public void foo()
{
...;
}
}
public class Child extends Base
{
Child(...)
{
super(...);
foo();
}
}
dato che sto chiamando la funzione foo classe di base() nel costruttore bambino? Naturalmente questo è perfettamente legittimo in quanto l'oggetto base è costruito dal punto foo(), ma a foo() è implicitamente un metodo virtuale, quindi in realtà mi aspetterei un avvertimento a meno che foo() non venga contrassegnato come finale.
Penso che l'IDE dovrebbe emettere un avviso se si chiama qualsiasi funzione di classe base da un costruttore di classe figlio che non è contrassegnato come finale.
Significa che 'foo()' è astratto? 'abstract void foo();'? – NINCOMPOOP
No per niente. Ha implementazione. Modificherò la domanda per chiarire. – Bathsheba
Considera di presentare un problema, se pensi che sia un bug: https://netbeans.org/community/issues.html – Puce