Kursinnhold
Java OOP
Java OOP
Standardmetoder
Abstrakt klasse vs Interface: Interface slår tilbake!
Tidligere kunne metoder med implementasjoner bare eksistere i abstrakte klasser, men fra og med Java 8 dukket de også opp i grensesnitt.
La oss se på syntaksen for å erklære en default-metode:
Vi trenger default-metoder til de samme formålene som vanlige metoder i Java. Vi bruker dem når vi trenger en implementasjon i metoden og når vi ønsker å implementere kun grensesnittet uten ekstra klasser. La oss se på et lite eksempel 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 dette eksemplet inneholder grensesnittet Greeting
en standardmetode sayHello()
med en standardimplementasjon. Klassen GreetingImpl
implementerer dette grensesnittet og overstyrer metoden greet()
. I main-metoden opprettes en instans av GreetingImpl
, og begge metodene kalles.
Takk for tilbakemeldingene dine!