Saltar al contenido

Herencia múltiple para una clase anónima.

Al fin después de mucho luchar hemos hallado la solución de esta cuestión que tantos lectores de nuestro espacio han presentado. Si tienes algo que aportar no dejes de dejar tu comentario.

Solución:

Clases anónimas deber extender o implementar algo, como cualquier otra clase de Java, incluso si es solo java.lang.Object.

Por ejemplo:

Runnable r = new Runnable() 
   public void run()  ... 
;

Aquí, r es un objeto de una clase anónima que implementa Runnable.

Una clase anónima puede extender otra clase usando la misma sintaxis:

SomeClass x = new SomeClass() 
   ...
;

Lo que no puedes hacer es implementar más de una interfaz. Necesitas una clase con nombre para hacer eso. Sin embargo, ni una clase interna anónima ni una clase con nombre pueden extender más de una clase.

Una clase anónima generalmente implementa una interfaz:

new Runnable()  // implements Runnable!
   public void run() 


JFrame.addWindowListener( new WindowAdapter()  // extends  class
 );

Si te refieres a si puedes implementar 2 o más interfaces, de lo que creo que no es posible. A continuación, puede crear una interfaz privada que combine los dos. Aunque no puedo imaginar fácilmente por qué querrías que una clase anónima tuviera eso:

 public class MyClass 
   private interface MyInterface extends Runnable, WindowListener  
   

   Runnable r = new MyInterface() 
    // your anonymous class which implements 2 interaces
   

 

Clases anónimas siempre extender superclase o implementar interfaces. por ejemplo:

button.addActionListener(new ActionListener() // ActionListener is an interface
    public void actionPerformed(ActionEvent e)
    
);

Además, aunque la clase anónima no puede implementar múltiples interfaces, puede crear una interfaz que amplíe otra interfaz y dejar que su clase anónima la implemente.

Calificaciones y reseñas

Si sostienes alguna desconfianza y capacidad de reaccionar nuestro reseña te proponemos escribir una crítica y con mucho placer lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *