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
Pregunte me preguntas sobre este tema
Resumir este capítulo
Mostrar ejemplos del mundo real
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!