Objeto anônimo: um objeto sem nome.
Objeto não anônimo:
ClassName C = new ClassName ();
c.run ();
Objeto anônimo:
new ClassName (). Run ();
Notas:
1. Quando o objeto chama o método apenas uma vez, ele pode ser simplificado em um objeto anônimo.
2. Dois objetos anônimos não podem ser o mesmo objeto.
3. Geralmente, os valores de atributo não são atribuídos a objetos anônimos, porque nunca podem ser obtidos.
4. Depois de executado, ele será reciclado diretamente, salvando o espaço da memória.
Exemplo de código usado por objetos anônimos:
classe pública anony {int a = 1; int b = 2; void run () {System.out.println (a+b);} public static void main (string [] args) {new anony (). a = 10; // objeto anônimo não pode ser reatribuído e a tarefa ainda falha anony a = new anony (); a.run (); // Crie o objeto anonimamente e chame o método}}Resultados em execução:
3
3
Classe interna anônima: a classe interna anônima é uma classe interna sem nome.
Formatar:
ClassName Object = new ClassName () {
/*Bloco de código*/
};
Notas:
1. Classes internas anônimas devem herdar uma classe pai ou implementar uma interface.
Exemplo de código de classe abstrato: (o mesmo que a interface)
classe abstrata anonytest {int a = 1; int b = 2; public abstrate void run ();} classe pública anonyinner {public static void main (string [] args) {anonytest a = new anonyTest () {// class anonymous public void run () {System.out.println (a+b);}};Se você não usa classes internas anônimas para implementar métodos abstratos:
classe abstrata anonytest {int a = 1; int b = 2; public abstrate void run ();} classe anonydemo estende anonytest {public void run () {System.out.println (a+b);}} classe pública anonyinner {public static void main (string [] args) {anonytest a = novo anonydemo (); // Aumente o objeto A.Run ();}}Resultados em execução:
3