Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Oletusmenetelmät | Rajapinta
Java OOP
course content

Kurssisisältö

Java OOP

Java OOP

1. Kuinka Työskennellä IDE:n Kanssa?
2. OOP
3. Rajapinta

book
Oletusmenetelmät

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. Käytämme niitä, kun tarvitsemme toteutuksen metodille ja kun 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ää oletusmetodin sayHello(), jolla on oletustoteutus. Luokka GreetingImpl toteuttaa tämän rajapinnan ja ylikirjoittaa greet()-metodin. Päämetodissa luodaan GreetingImpl-instanssi ja molempia metodeja kutsutaan.

question mark

Mikä on oletusmetodin tarkoitus Java-rajapinnassa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

course content

Kurssisisältö

Java OOP

Java OOP

1. Kuinka Työskennellä IDE:n Kanssa?
2. OOP
3. Rajapinta

book
Oletusmenetelmät

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. Käytämme niitä, kun tarvitsemme toteutuksen metodille ja kun 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ää oletusmetodin sayHello(), jolla on oletustoteutus. Luokka GreetingImpl toteuttaa tämän rajapinnan ja ylikirjoittaa greet()-metodin. Päämetodissa luodaan GreetingImpl-instanssi ja molempia metodeja kutsutaan.

question mark

Mikä on oletusmetodin tarkoitus Java-rajapinnassa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt