Olha pessoal:
package One;
public class Fruit {
protected static void metodo1() {
System.out.println(“Método 1 impresso!”);
}
}
Certo! Essa é a classe que eu vou herdar pra usar o protected:
import One.Fruit;
public class Apple extends Fruit {
public static void main(String[] args) {
metodo1();
}
}
Usando essa classe Apple no pacote padrão, a compilação é OKEY e roda direitinho. Mas se eu mudar o pacote da classe Apple não funciona, por que isso!?
Aí eu acrescentei na classe Apple:
package Two;
import One.Fruit;
public class Apple extends Fruit {
public static void main(String[] args) {
metodo1();
}
}
Aí só porque eu mudei o pacote para “Two”, não compila mais e dá o seguinte erro:
java.lang.NoClassDefFoundError: Apple
Exception in thread “main”
Java Result: 1
Alguém sabe me explicar por quê?
Agradeço desde já.