vorrei sapere il motivo per cui questo è consentito prima in Java (o oops in generale) Ricordo che i metodi statici sono comuni sia per il genitore e figlio classeRidefinire metodo statico nella classe figlia
public class Redefine extends Parent{
public static void test() {
}
}
class Parent{
public static void test() {
}
}
Q1: Poiché Override non è supportato per i metodi statici, in che modo entrambi possono contenere gli stessi metodi?
Q2: Se si modifica il metodo in statico per generare un'eccezione non definita, la sua non compilazione. perché è il caso. Ovviamente non ha la precedenza, quindi dovrei essere autorizzato a lanciare nuove eccezioni, giusto?
public class Redefine extends Parent{
public static void test() throws Exception{
}
}
re: Q2: Se si prova la versione OP di Redefine.test() dichiarata come 'genera Eccezione', si dovrebbe ottenere l'errore del compilatore' Exception Exception non è compatibile con la clausola throws in Parent.test() ' . – mikej