compilador Java proíbe a criação no método da classe interna com o mesmo nome da classe externa se as assinaturas forem diferente
Por que esse código funciona:
class Parent {
private void methodA(String a){
System.out.println(a);
}
class Inner {
void test(int a){
methodA("1");
}
}
}
Mas este código não funciona (apenas adiciono método à classe interna com o mesmo nome e outra assinatura):
class Parent {
private void methodA(String a){
System.out.println(a);
}
class Inner {
private void methodA(int a){
System.out.println(a);
}
void test(int a){
methodA("1");
}
}
}
Não pergunto como fazê-lo funcionar. Quero dizer por que a segunda opção não funciona? Eu quero uma explicação, não uma soluçã