 Métodos Predeterminados
Métodos Predeterminados
Clase abstracta vs Interfaz: ¡El regreso de la interfaz!
Anteriormente, los métodos con implementación 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 solo 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
What is the main difference between abstract classes and interfaces in Java?
Can you provide more examples of default methods in interfaces?
When should I use a default method in an interface instead of an abstract class?
Awesome!
Completion rate improved to 4.76 Métodos Predeterminados
Métodos Predeterminados
Desliza para mostrar el menú
Clase abstracta vs Interfaz: ¡El regreso de la interfaz!
Anteriormente, los métodos con implementación 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 solo 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!