Me gustaría saber la razón por la cual esto es permitido por primera vez en Java (o Uy en general) recuerdo que los métodos estáticos son comunes tanto para los padres y el niño de claseRedefiniendo método estático en la clase hija
public class Redefine extends Parent{
public static void test() {
}
}
class Parent{
public static void test() {
}
}
Q1: Debido a que Overriding no es compatible con métodos estáticos, ¿cómo pueden ambos classe contener los mismos métodos?
Q2: Si cambia el método en estático para lanzar una excepción no definida, no compila. ¿por qué es el caso? Obviamente no es primordial, así que debería poder lanzar nuevas excepciones ¿no?
public class Redefine extends Parent{
public static void test() throws Exception{
}
}
re: Q2: Si prueba la versión OP de Redefine.test() que se declara como 'throws Exception' entonces debería obtener el error del compilador' Exception Exception no es compatible con throws clause en Parent.test() ' . – mikej