Middle
O que é uma classe local e quais são as suas características?
sobes.tech IA
Resposta da IA
Uma classe local é uma classe definida dentro de um bloco, por exemplo, um método, construtor ou inicializador.
Características das classes locais:
- Escopo: Disponível apenas no bloco onde é definida.
- Não estática: Não pode ser declarada como
static. - Acesso a variáveis locais: Pode acessar variáveis locais e parâmetros do bloco envolvente que sejam
finalou efetivamentefinal. - Não pode ter modificadores de acesso:
public,private,protectednão podem ser usados. - Herda de classes e implementa interfaces: Pode estender outras classes e implementar interfaces.
- Nomenclatura: Não pode conter o modificador
strictfpe não pode ser declarada comoenum.
Exemplo:
class Outer {
void myMethod() {
int localVar = 10; // efetivamente final
class LocalClass {
void display() {
System.out.println("Variável local: " + localVar);
}
}
LocalClass local = new LocalClass();
local.display();
}
public static void main(String[] args) {
Outer outer = new Outer();
outer.myMethod();
}
}