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); } }
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"); } }
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