Método estático en interfaz en Java

Los métodos estáticos en la interfaz son aquellos métodos que se definen en la interfaz con la palabra clave estática. A diferencia de otros métodos en la interfaz, estos métodos estáticos contienen la definición completa de la función y, dado que la definición está completa y el método es estático, estos métodos no se pueden anular ni cambiar en la clase de implementación.
Similar al método predeterminado en la interfaz , el método estático en una interfaz se puede definir en la interfaz, pero no se puede anular en las clases de implementación. Para usar un método estático, el nombre de la interfaz debe instanciarse con él, ya que es solo parte de la interfaz.
Los siguientes programas ilustran métodos estáticos en interfaces:
Programa 1:Para demostrar el uso del método estático en la interfaz.
En este programa, se define y declara un método estático simple en una interfaz que se llama en el método main() de la clase de implementación InterfaceDemo. A diferencia del método predeterminado, el método estático definido en la interfaz hello() no se puede anular al implementar la clase.
 

Java

// Java program to demonstrate
// static method in Interface.
 
interface NewInterface {
 
    // static method
    static void hello()
    {
        System.out.println("Hello, New Static Method Here");
    }
 
    // Public and abstract method of Interface
    void overrideMethod(String str);
}
 
// Implementation Class
public class InterfaceDemo implements NewInterface {
 
    public static void main(String[] args)
    {
        InterfaceDemo interfaceDemo = new InterfaceDemo();
 
        // Calling the static method of interface
        NewInterface.hello();
 
        // Calling the abstract method of interface
        interfaceDemo.overrideMethod("Hello, Override Method here");
    }
 
    // Implementing interface method
 
    @Override
    public void overrideMethod(String str)
    {
        System.out.println(str);
    }
}
Producción: 

Hello, New Static Method Here
Hello, Override Method here

 

Programa 2: Para demostrar el alcance del método estático.
En este programa, el alcance de la definición del método estático se encuentra únicamente dentro de la interfaz. Si el método del mismo nombre se implementa en la clase de implementación, ese método se convierte en un miembro estático de esa clase respectiva.
 

Java

// Java program to demonstrate scope
// of static method in Interface.
 
interface PrintDemo {
 
    // Static Method
    static void hello()
    {
        System.out.println("Called from Interface PrintDemo");
    }
}
 
public class InterfaceDemo implements PrintDemo {
 
    public static void main(String[] args)
    {
 
        // Call Interface method as Interface
        // name is preceding with method
        PrintDemo.hello();
 
        // Call Class static method
        hello();
    }
 
    // Class Static method is defined
    static void hello()
    {
        System.out.println("Called from Class");
    }
}
Producción: 

Called from Interface PrintDemo
Called from Class

 

Publicación traducida automáticamente

Artículo escrito por bilal-hungund y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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