Classes Internas

eai pessoal, saudades? heheahae, la vai uma de classes internas, o programa compila e executa? tem saída? da erro? ainda tem leite condensado no armario? hahahaha segue o código! :lol:

[code]package com.foo;

class Test{

private int x = 7;

void doStuff()
{
	final int y = 8;
	
	class Inner {
		
		private int z = 9;
		
		void foo()
		{
			System.out.println( "x = " + x );
			System.out.println( "y = " + y );
			System.out.println( "z = " + z );	
		}
	}
	
	Inner i = new Inner();
	
	i.foo();
	
	i.z = 0;
	
	System.out.println( "z = " + i.z );
}

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

}[/code]

Eu acho q nao compila pq ele nao vai reconhecer a variavel y.
:lol:

i.z
mas z é private

pessoal, o pior é q compila, e executa! eheehe, saindo

x = 7
y = 8
z = 9
z = 0

eu peguei esse exemplo do livro da kathy, ai eu modifiquei pra testar com uma variável private, e o método onde a classe foi declarada, teve acesso… eu tb achei q ia dar erro qnd fiz o exemplo, mas pra minha surpresa, não, e o livro da kathy não abordou isso! 8O