Na seção anterior aprendemos sobre classes internas, nesta seção aprenderemos sobre classes anônimas. Então, o que é uma classe anônima? Como o nome sugere, classes anônimas são classes que não podem ter nomes. Elas não podem ser referenciadas e só podem ser declaradas com a nova instrução quando são criadas.
Para usar classes internas anônimas, devemos herdar uma classe pai ou implementar uma interface.
As coisas a serem observadas são:
1) Os construtores não podem ser definidos em classes internas anônimas.
2) Não pode haver variáveis de membro estático e métodos estáticos em classes internas anônimas.
3) As classes internas anônimas são classes internas locais, portanto, todas as restrições às classes internas locais também se aplicam às classes internas anônimas.
O formato de sintaxe das classes anônimas é o seguinte:
classouterClass{//Definir uma classe anônima object1=newType(parameterList){//Código de classe anônima};}
Nota: Como as classes anônimas são definidas na forma de expressões, elas terminam com ponto e vírgula ;
Por exemplo:
classDotcpp{publicvoiddisplay(){System.out.println (dentro da classe Dotcpp);}}classAnonymousDemo{publicvoidcreateClass(){//A classe anônima criada herda a classe Dotcpp Dotcppd1=newDotcpp(){publicvoiddisplay(){System.out. println(dentro da classe anônima);}};d1.display();}}classMain{publicstaticvoidmain(String[]args){AnonymousDemoan=newAnonymousDemo();an.createClass();}}
Os resultados da execução são os seguintes:
dentro da classe anônima
Por exemplo:
interfaceDotcpp{publicvoiddisplay();}classAnonymousDemo{publicvoidcreateClass(){//A classe anônima criada implementa a interface Dotcpp Dotcppd1=newDotcpp(){publicvoiddisplay(){System.out.println (dentro da classe anônima);}};d1. display();}}classMain{publicstaticvoidmain(String[]args){AnonymousDemoan=newAnonymousDemo();an.createClass();}}
Os resultados da execução são os seguintes:
dentro da classe anônima
Ok, todos podem experimentar no computador e digerir e absorver o conteúdo desta seção.