Esta es una de las preguntas más frecuentes en la entrevista de Java. La respuesta es No, la interfaz no puede tener constructores. En esta publicación discutiremos por qué los constructores no están permitidos en la interfaz.

Como sabemos, todos los métodos en la interfaz son abstractos públicos por defecto, lo que significa que la implementación del método no se puede proporcionar en la propia interfaz. Debe ser proporcionado por la clase de implementación. Echemos un vistazo al siguiente calendario:

interface SumInterface{

    public int mymethod(int num1, int num2);
}
public class SumClass implements SumInterface{

    public int mymethod(int num1, int num2){
           int op= num1+num2;
           return op;
    }
    public static void main(String args[])
    {
           SumClass obj= new SumClass();
           System.out.println(obj.mymethod(2, 3));
    }
}

Como puede ver, hemos implementado el método mymethod() en el aula SumClass que implementa la interfaz. Por lo tanto, no es necesario tener un objeto de interfaz (en realidad, no se puede crear una instancia de la interfaz) para llamar al método, ya que la implementación está en la clase y el objeto de la clase puede llamar a este método.

Ahora al grano: todos los métodos de la interfaz no tienen cuerpo, por lo que no es necesario llamar a métodos en la propia interfaz. Para llamar a cualquier método necesitamos un objeto ya que no es necesario tener un objeto de interfaz, no es necesario tener un constructor en la interfaz (el constructor se llama al crear el objeto).

leer  Herencia multinivel en java con ejemplo

Por avivcas

Deja una respuesta

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