ExpertiDict

Java · Intermediário · Português · Técnico

classe interna

/ˈklasi ĩˈtɛɾnɐ/substantivo

Classe declarada dentro de outra. Se não for static, cada instância guarda uma referência à instância externa e acessa seus membros.

Onde usar

Aparece em vazamentos de memória com listeners e adapters que seguram o objeto externo. Em review: 'torne essa classe interna static'.

Em código

class Externa {
  int valor = 7;
  class Interna {
    int dobro() { return valor * 2; }
  }
}
var e = new Externa();
var i = e.new Interna(); // dobro() == 14

Exemplos

Essa classe interna segura a tela inteira na memória.

Torna a classe interna static para não prender a externa.

Cuidado

A classe aninhada static não tem referência à externa; é só um agrupamento de nomes.

Sinônimos

inner class

Antônimos

classe aninhada estática

Veja também

Todos os termos de Java