Inner class e nested class são a mesma coisa?

3 respostas
A

inner class e nested class são a mesma coisa?

3 Respostas

E

Confesso que não sabia a diferença exata. Pela especificação,

http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3

Tradução:

Uma classe aninhada é toda classe cuja declaração ocorre dentro do corpo de outra classe ou interface.

Uma classe interna é uma classe aninhada que não é implicita ou explicitamente declarada como “static”.

E

Copiando o exemplo da JLS:

class HasStatic{
	static int j = 100;
}
class Outer{
	class Inner extends HasStatic{
		static final int x = 3;			// ok - compile-time constant
		static int y = 4; 			// compile-time error, an inner class
	}
	static class NestedButNotInner{
		static int z = 5; 			// ok, not an inner class
	}
	interface NeverInner{}				// interfaces are never inner
}
A

legal… ótimo conceito e exemplo sobre inner class/nested class…

alguém teria para efeito de eu entender melhor, um exemplo prático mas simplezinho usando os mesmos?

Criado 15 de julho de 2010
Ultima resposta 16 de jul. de 2010
Respostas 3
Participantes 2