Java

Tuesday, March 28, 2006

 

Method-Local Inner Class

Uma classe interna pode ser criada no interior de um método. Neste caso, ela continuará tendo acesso às instâncias de variáveis da classe externa, mas não às variáveis locais do referido método, a não ser que elas sejam declaradas com o modificador final. A razão disto é que as variáveis locais deixam de existir assim que o método é executado, enquanto a instância interna pode continuar existindo se ela passar a sua referência para algum outro objeto instanciado.

class MyOuter2{
private String x = "Outer2";
void doStuff(){
class MyInner{
public void seeOuter(){
System.out.println("Outer x is "+x);
}
}
MyInner mi = new MyInner();
mi.seeOuter();
}

public static void main(String args[]){
MyOuter2 mo = new MyOuter2();
mo.doStuff();
}

}

Comments: Post a Comment



<< Home

Archives

March 2006   April 2006   May 2006   July 2006   August 2006  

This page is powered by Blogger. Isn't yours?