Kurssisisältö
Java OOP
Java OOP
Staattiset Metodit
Interface.method()
Staattiset metodit rajapinnoissa otettiin käyttöön Java 8 -versiossa tarjoamaan enemmän joustavuutta ja funktionaalisen ohjelmoinnin ominaisuuksia. Niiden avulla voidaan määritellä metodeja, jotka eivät vaadi luokan ilmentymää ja joita voidaan kutsua suoraan rajapinnan nimen kautta. Alla tarkempaa tietoa rajapintojen staattisista metodeista:
Staattisten metodien määrittely
Staattinen metodi määritellään käyttämällä static
-avainsanaa, ja sillä on toteutettu metodirunko. Näin määritellään staattinen metodi rajapinnassa:
MyInterface.java
public interface MyInterface { static void staticMethod() { // Implementation of the static method // ... } }
Huomio
Olemme jo käsitelleet staattisten metodien käsitteen tässä luvussa, joten voit kerrata ja palauttaa mieleesi aiheen
Staattisten metodien kutsuminen:
Staattista metodia voidaan kutsua suoraan rajapinnan nimen kautta ilman, että tarvitsee luoda luokan ilmentymää. Näin kutsut staattista metodia:
Staattisten metodien käyttö
Rajapinnoissa olevat staattiset metodit voivat tarjota hyödyllisiä toimintoja, jotka ovat yhteisiä kaikille rajapinnan toteuttaville luokille. Niitä voidaan myös käyttää ryhmittelemään toisiinsa liittyviä toimintoja rajapinnan sisällä.
Staattisten metodien ylikirjoittaminen
Rajapinnan staattisia metodeja ei voi ylikirjoittaa luokissa, jotka toteuttavat rajapinnan. Tämä tarkoittaa, että staattisen metodin kutsu perustuu vain rajapinnan tyyppiin, ei tiettyyn toteutukseen.
Class.java
public class Class() implements MyInterface { @Override // error will be produced here static void staticMethod() { // Implementation of the static method } }
Käyttämällä static
metodeja rajapinnoissa lisätään Javan kielen joustavuutta ja ominaisuuksia. Niiden avulla voidaan määritellä yhteisiä metodeja, jotka ovat käytettävissä rajapinnan kautta ilman luokkainstanssien luomista. Tämä on hyödyllinen työkalu koodin yksinkertaistamiseen, aputoimintojen järjestämiseen ja ohjelman modulaarisuuden parantamiseen.
1. Miten kutsutaan rajapinnassa määriteltyä staattista metodia?
2. Voidaanko rajapinnan staattisia metodeja ylikirjoittaa toteuttavissa luokissa?
Kiitos palautteestasi!