Metodi Predefiniti
Classe astratta vs Interfaccia: Il ritorno dell'interfaccia!
In precedenza, i metodi con implementazioni potevano esistere solo nelle classi astratte, ma a partire da Java 8, sono comparsi anche nelle interfacce.
Esaminiamo la sintassi per dichiarare un metodo default:
default dataType methodName(parameters) {
// implementation
}
Abbiamo bisogno dei metodi default per gli stessi scopi dei metodi regolari in Java. Li utilizziamo quando è necessaria un'implementazione nel metodo e quando si desidera implementare solo l'interfaccia senza classi aggiuntive. Consideriamo un piccolo esempio che utilizza i metodi default:
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! } }
In questo esempio, l'interfaccia Greeting contiene un metodo predefinito sayHello() con un'implementazione di default. La classe GreetingImpl implementa questa interfaccia e sovrascrive il metodo greet(). Nel metodo main, viene creata un'istanza di GreetingImpl e vengono chiamati entrambi i metodi.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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
Metodi Predefiniti
Scorri per mostrare il menu
Classe astratta vs Interfaccia: Il ritorno dell'interfaccia!
In precedenza, i metodi con implementazioni potevano esistere solo nelle classi astratte, ma a partire da Java 8, sono comparsi anche nelle interfacce.
Esaminiamo la sintassi per dichiarare un metodo default:
default dataType methodName(parameters) {
// implementation
}
Abbiamo bisogno dei metodi default per gli stessi scopi dei metodi regolari in Java. Li utilizziamo quando è necessaria un'implementazione nel metodo e quando si desidera implementare solo l'interfaccia senza classi aggiuntive. Consideriamo un piccolo esempio che utilizza i metodi default:
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! } }
In questo esempio, l'interfaccia Greeting contiene un metodo predefinito sayHello() con un'implementazione di default. La classe GreetingImpl implementa questa interfaccia e sovrascrive il metodo greet(). Nel metodo main, viene creata un'istanza di GreetingImpl e vengono chiamati entrambi i metodi.
Grazie per i tuoi commenti!