2012-05-06 7 views
25

¿Qué hacen las llaves?¿Las llaves en "nueva" expresión? (por ejemplo, "new MyClass() {...}")

handler1 = new Handler() { 

     public void handleMessage() { 

     } 
}; 

object = new Class_Name() {};? Esta sintaxis existe solo en Android o Java también? ¿Y cómo se llama en Java? Gracias por tus ayuda

+0

Relacionado/duplicado pregunta: [ "La diferencia entre el nuevo Test() y el nuevo Test() {}"] (http://stackoverflow.com/q/22164036/320399) – blong

Respuesta

22

Esta es la sintaxis para crear una instancia de anonymous class que se extiende Handler. Esto es parte de Java.

+0

Muchas gracias. Perdí tanto tiempo para esto: (. – wanting252

2

Esto se realiza cuando se crea la referencia de instancia de la interfaz. Por ejemplo, quiero crear la instancia de la interfaz Runnable con la clase, luego puedo crearla creando una clase anónima para la misma y anular el método run() de la interfaz. Puedes entender bien al mirar otro ejemplo que no sea el que indicaste a continuación.

Runnable runnable = new Runnable() { 

    public void run() { 
     // TODO Auto-generated method stub 

    } 
}; 
Cuestiones relacionadas