Kursinhalt
Java OOP
Java OOP
Standardmethoden
Abstrakte Klasse vs Schnittstelle: Die Schnittstelle schlägt zurück!
Früher konnten Methoden mit Implementierungen nur in abstrakten Klassen existieren, aber ab Java 8 tauchten sie auch in Schnittstellen auf.
Schauen wir uns die Syntax zur Deklaration einer default method an:
Wir benötigen default methods für die gleichen Zwecke wie reguläre Methoden in Java. Wir verwenden sie, wenn wir eine Implementierung in der Methode benötigen und wenn wir nur das Interface ohne zusätzliche Klassen implementieren möchten. Betrachten wir ein kleines Beispiel mit default methods:
Main
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! } }
In diesem Beispiel enthält das Interface Greeting
eine default method sayHello()
mit einer default Implementierung. Die Klasse GreetingImpl
implementiert dieses Interface und überschreibt die Methode greet()
. In der main-Methode wird eine Instanz von GreetingImpl
erstellt und beide Methoden werden aufgerufen.
Danke für Ihr Feedback!