Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Oletusmenetelmät | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Java Olio-Ohjelmoinnin Perusteet

bookOletusmenetelmät

Pyyhkäise näyttääksesi valikon

Abstrakti luokka vs Rajapinta: Rajapinnan vastaisku!

Aiemmin toteutuksen sisältäviä metodeja voitiin määritellä vain abstrakteissa luokissa, mutta Java 8:sta alkaen niitä voi olla myös rajapinnoissa.

Tarkastellaanpa oletusmetodin määrittelyn syntaksia:

default dataType methodName(parameters) {
// implementation 
}

Tarvitsemme oletusmetodeja samoihin tarkoituksiin kuin tavallisia metodeja Javassa. Niitä käytetään, kun tarvitsemme toteutuksen metodille ja haluamme toteuttaa vain rajapinnan ilman lisäluokkia. Tarkastellaan pientä esimerkkiä oletusmetodien käytöstä:

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! } }

Tässä esimerkissä rajapinta Greeting sisältää oletusmenetelmän sayHello(), jolla on oletustoteutus. Luokka GreetingImpl toteuttaa tämän rajapinnan ja ylikirjoittaa greet()-menetelmän. Pääohjelmassa luodaan GreetingImpl-olio ja molempia menetelmiä kutsutaan.

question mark

Mikä on oletusmenetelmän tarkoitus Java-rajapinnassa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 23

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 23
some-alt