Standardmetoder
Svep för att visa menyn
Abstrakt klass vs Interface: Gränssnittet slår tillbaka!
Tidigare kunde metoder med implementationer endast finnas i abstrakta klasser, men från och med Java 8 dök de även upp i gränssnitt.
Vi tittar på syntaxen för att deklarera en default-metod:
default dataType methodName(parameters) {
// implementation
}
Vi behöver default-metoder för samma syften som vanliga metoder i Java. De används när vi behöver en implementation i metoden och när vi vill implementera endast gränssnittet utan ytterligare klasser. Nedan följer ett litet exempel med default-metoder:
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! } }
I det här exemplet innehåller gränssnittet Greeting en standardmetod sayHello() med en standardimplementering. Klassen GreetingImpl implementerar detta gränssnitt och överskuggar metoden greet(). I main-metoden skapas en instans av GreetingImpl och båda metoderna anropas.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal