Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Standardmetoder | Interface
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java OOP

bookStandardmetoder

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 
}

Default-metoder behövs för samma syften som vanliga metoder i Java. De används när en implementation krävs i metoden och när endast gränssnittet ska implementeras utan ytterligare klasser. Nedan följer ett litet exempel med default-metoder:

Main.java

Main.java

copy
12345678910111213141516171819202122232425
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 detta exempel 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.

question mark

Vad är syftet med en standardmetod i ett Java-gränssnitt?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

bookStandardmetoder

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 
}

Default-metoder behövs för samma syften som vanliga metoder i Java. De används när en implementation krävs i metoden och när endast gränssnittet ska implementeras utan ytterligare klasser. Nedan följer ett litet exempel med default-metoder:

Main.java

Main.java

copy
12345678910111213141516171819202122232425
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 detta exempel 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.

question mark

Vad är syftet med en standardmetod i ett Java-gränssnitt?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4
some-alt