Objeto anónimo: un objeto sin nombre.
Objeto no anónimo:
ClassName c = new ClassName ();
c.run ();
Objeto anónimo:
nuevo classname (). run ();
Notas:
1. Cuando el objeto llama al método solo una vez, se puede simplificar en un objeto anónimo.
2. Dos objetos anónimos no pueden ser el mismo objeto.
3. Generalmente, los valores de los atributos no se asignan a objetos anónimos, porque nunca se pueden obtener.
4. Una vez ejecutado, se reciclará directamente, guardando el espacio de memoria.
Ejemplo de código utilizado por objetos anónimos:
clase 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; // El objeto anónimo no se puede reasignar, y la asignación aún falla anony a = new anony (); a.run (); // Crear el objeto de forma anónima y llamar al método}}Resultados de ejecución:
3
3
Clase interna anónima: la clase interna anónima es una clase interna sin nombre.
Formato:
ClassName Object = new ClassName () {
/*Bloque de código*/
};
Notas:
1. Las clases internas anónimas deben heredar una clase principal o implementar una interfaz.
Ejemplo de código de clase abstracto: (igual que la interfaz)
clase abstracta anonytest {int a = 1; int b = 2; public abstract void run ();} public class Anonyinner {public static void main (string [] args) {anonyTest a = new AnonyTest () {// abstract Anonymous Class public void run () {System.out.println (a+b);}}; a.run ();}}Si no usa clases internas anónimas para implementar métodos abstractos:
clase abstracta anonytest {int a = 1; int b = 2; public abstract void run ();} class AnonyDemo extiende AnonyTest {public void run () {system.out.println (a+b);}} public class Anonyinner {public static void main (string []) {anonytest a = newyDemo (); // sube el objeto a.run ();}}Resultados de ejecución:
3