Métodos Predeterminados
Clase abstracta vs Interfaz: ¡El regreso de la Interfaz!
Anteriormente, los métodos con implementaciones solo podían existir en clases abstractas, pero a partir de Java 8, también aparecieron en las interfaces.
Veamos la sintaxis para declarar un método predeterminado:
default dataType methodName(parameters) {
// implementation
}
Necesitamos métodos predeterminados para los mismos propósitos que los métodos regulares en Java. Se utilizan cuando se requiere una implementación en el método y cuando se desea implementar únicamente la interfaz sin clases adicionales. Consideremos un pequeño ejemplo utilizando métodos predeterminados:
Main.java
12345678910111213141516171819202122232425package com.example; public class Main { public interface Greeting { default void sayHello() { System.out.println("Hello from the interface!"); } void greet(String name); } public static class GreetingImpl implements Greeting { @Override public void greet(String name) { System.out.println("Hello, " + name + "!"); } } public static void main(String[] args) { GreetingImpl greetingImpl = new GreetingImpl(); greetingImpl.sayHello(); // Output: Hello from the interface! greetingImpl.greet("Alice"); // Output: Hello, Alice! } }
En este ejemplo, la interfaz Greeting
contiene un método predeterminado sayHello()
con una implementación por defecto. La clase GreetingImpl
implementa esta interfaz y sobrescribe el método greet()
. En el método principal, se crea una instancia de GreetingImpl
y se llaman ambos métodos.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4.76
Métodos Predeterminados
Desliza para mostrar el menú
Clase abstracta vs Interfaz: ¡El regreso de la Interfaz!
Anteriormente, los métodos con implementaciones solo podían existir en clases abstractas, pero a partir de Java 8, también aparecieron en las interfaces.
Veamos la sintaxis para declarar un método predeterminado:
default dataType methodName(parameters) {
// implementation
}
Necesitamos métodos predeterminados para los mismos propósitos que los métodos regulares en Java. Se utilizan cuando se requiere una implementación en el método y cuando se desea implementar únicamente la interfaz sin clases adicionales. Consideremos un pequeño ejemplo utilizando métodos predeterminados:
Main.java
12345678910111213141516171819202122232425package com.example; public class Main { public interface Greeting { default void sayHello() { System.out.println("Hello from the interface!"); } void greet(String name); } public static class GreetingImpl implements Greeting { @Override public void greet(String name) { System.out.println("Hello, " + name + "!"); } } public static void main(String[] args) { GreetingImpl greetingImpl = new GreetingImpl(); greetingImpl.sayHello(); // Output: Hello from the interface! greetingImpl.greet("Alice"); // Output: Hello, Alice! } }
En este ejemplo, la interfaz Greeting
contiene un método predeterminado sayHello()
con una implementación por defecto. La clase GreetingImpl
implementa esta interfaz y sobrescribe el método greet()
. En el método principal, se crea una instancia de GreetingImpl
y se llaman ambos métodos.
¡Gracias por tus comentarios!