Kursinnehåll
Java OOP
Java OOP
Standardmetoder
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.
Låt oss titta på syntaxen för att deklarera en default-metod:
Vi behöver default-metoder för samma syften som vanliga metoder i Java. Vi använder dem när vi behöver en implementation i metoden och när vi vill implementera endast gränssnittet utan ytterligare klasser. Låt oss titta på ett litet exempel med default-metoder:
Main.java
package 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 standardimplementation. Klassen GreetingImpl
implementerar detta gränssnitt och överskuggar metoden greet()
. I huvudmetoden skapas en instans av GreetingImpl
och båda metoderna anropas.
Tack för dina kommentarer!