public class Foo{
Foo(){ System.out.println("foo"); }
class Bar{
Bar(){ System.out.println("bar"); }
public void go() { System.out.println("go"); }
}
void makeBar(){
(new Bar() { } ).go();
}
public static void main(String args[]){
Foo f = new Foo();
f.makeBar();
}
}
pessoal , eu quando eu vi esta questão eu fiquei em duvida com este ponto aqui :
(new Bar() { } ).go();
porque eu nunca tinha visto isso antes...
dai depois testando..eu vi que esse esquema aqui funciona com qualquer classe...
mas eu achei estranho..o porque disso aqui nao funcionar dentro de um metodo da classe encapsuladora por exemplo, onde eu ja possuo uma instancia da mesma... :
new Bar().go(); // sem curly braces..
Obrigado.
valeu!!! :D