Uma questão interessante.
Vejam o código abaixo:
public class A {
private void m1(){
System.out.println("método da classe A");
}
private class B {
//reparem que na classe A, também existe um método com este mesmo nome
void m1(){
System.out.println("método da classe B");
}
void print () {
m1(); // output = método da classe B
// que código, escrito nesta linha daria um output = método da classe A
// a) A.m1();
// b) A.this.m1();
// c) outer.m1();
// d) parent.m1();
// e) A.this.m1;
// f) Não dá, pois o método m1() da classe A é private
}
}
public static void main(String args[]){
B b = new A().new B();
b.print();
}
}
e aí… qual será a resposta?
ps: Por que é que alguém iria criar uma inner class e implementar um método com um nome que já existe na outer class :?:
