Em "Análise aprofundada baseada no papel das classes internas do Java" você pode entender algumas coisas sobre as classes internas do Java, mas ainda existem alguns lugares nas classes internas que merecem nosso estudo cuidadoso...
Abaixo estão algumas coisas sobre classes internas Java que resumi e compartilho com vocês....
um: classes internas estáticas podem ter membros estáticos, mas classes internas não estáticas não podem ter membros estáticos.
Como entender isso?
Dê uma olhada no código abaixo:
teste de classe pública {
número interno privado = 1;
//Classes internas não estáticas podem ter membros não estáticos
classe privada InnerTest {
// erro Classes internas não estáticas não podem ter membros estáticos
//privado static int inNumber = 2;
private int inNumber = 2;
public InnerTest() {
setNúmero(2);
inNumber = inNumber + número;
System.out.println("innerTest---" + inNumber);
}
}
//Método privado de teste
private void setNumber(int número) {
este.número = número;
}
//Construtor
teste público() {
InnerTest in = new InnerTest();
System.out.println("teste");
}
public static void main(String[] args) {
Teste teste = novo Teste();
// teste interno---4
// teste
}
}
teste de classe pública {
número interno estático privado = 1;
private String nome = "teste";
//classe interna estática
classe estática privada InnerTest {
//Classes internas estáticas podem ter membros não estáticos
private int inNumber = 2;
public InnerTest() {
//Classes internas estáticas podem acessar membros estáticos de classes externas
setNúmero(2);
inNumber = inNumber + número;
System.out.println("innerTest---" + inNumber);
//erro a classe interna estática não pode acessar membros não estáticos da classe externa
//System.out.println(nome);
}
}
//Método privado estático de teste
private static void setNumber(int n) {
número = n;
}
//Construtor
teste público() {
InnerTest in = new InnerTest();
System.out.println("teste");
}
public static void main(String[] args) {
Teste teste = novo Teste();
// teste interno---4
// teste
}
}
É fácil de entender...
Para resumir: