Mikä on Java-käyttöliittymä esimerkin kanssa

Sisällysluettelo:

Anonim

Mikä on Java-käyttöliittymä?

Interface Java ohjelmointia määritellään abstrakti tyyppiä käytetään määrittämään käyttäytymistä luokassa. Java-käyttöliittymä sisältää staattisia vakioita ja abstrakteja menetelmiä. Luokka voi toteuttaa useita rajapintoja. Java-käyttöliittymät ilmoitetaan käyttöliittymän avainsanalla. Kaikki käyttöliittymän menetelmät ovat implisiittisesti julkisia ja abstrakteja.

Syntaksi käyttöliittymän ilmoittamiseen

interface {//methods}

Jos haluat käyttää käyttöliittymää luokassa, liitä avainsana "toteuttaa" luokkasi nimen ja sen jälkeen käyttöliittymän nimen jälkeen.

Esimerkki käyttöliittymän toteuttamisesta

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Napsauta tätä, jos video ei ole käytettävissä

Miksi liitäntää tarvitaan?

Katso esimerkki ymmärtääksesi Java-käyttöliittymän käsitteen paremmin. Luokalla "Media Player" on kaksi alaluokkaa: CD-soitin ja DVD-soitin. Jokaisella on ainutlaatuinen toteutustapa musiikin toistamiseen.

Toinen luokan "yhdistelmäasema" perii sekä CD- että DVD-levyt (katso alla oleva kuva). Minkä pelimenetelmän sen pitäisi periä? Tämä voi aiheuttaa vakavia suunnitteluongelmia. Ja näin ollen Java ei salli useita perintöjä.

Otetaan nyt toinen esimerkki Koirasta.

Oletetaan, että sinulla on vaatimus, jossa luokka "koira" perii luokan "eläin" ja "lemmikki" (katso alla oleva kuva). Mutta et voi laajentaa kahta luokkaa Javalassa. Joten mitä tekisit? Ratkaisu on Interface.

Käyttöliittymän sääntökirja sanoo,

  • Käyttöliittymä on 100% abstrakti luokka ja siinä on vain abstrakteja menetelmiä.
  • Class voi toteuttaa minkä tahansa määrän rajapintoja.

Luokan koira voi laajentaa luokkaan "eläin" ja toteuttaa käyttöliittymän nimellä "lemmikki".

Java-käyttöliittymäesimerkki:

Vaihe 1) Kopioi seuraava koodi editoriin.

käyttöliittymä Pet {public void -testi ();}luokan koiranvälineet lemmikkieläimiäpublic void -testi () {System.out.println ("Käyttöliittymämenetelmä toteutettu");}public staattinen void main (String args []) {Pet p = uusi koira ();p.testi ();}}

Vaihe 2) Tallenna, käännä ja suorita koodi. Tarkkaile lähtöä.

Luokan ja käyttöliittymän välinen ero

Luokka Käyttöliittymä
Luokalla voit instantisoida muuttujan ja luoda objektin. Käyttöliittymässä et voi instantisoida muuttujaa ja luoda objektia.
Luokka voi sisältää konkreettisia (toteutuksella) menetelmiä Rajapinta ei voi sisältää konkreettisia (toteutuksella varustettuja) menetelmiä

Luokkien yhteydessä käytettävät pääsyn määrittelijät ovat yksityisiä, suojattuja ja julkisia.

Liitännässä käytetään vain yhtä määrittelijää - Julkinen.

Milloin käyttöliittymää ja tiivistelmäluokkaa käytetään?

  • Käytä abstraktia luokkaa, kun malli on määriteltävä alaluokaryhmälle
  • Käytä käyttöliittymää, kun rooli on määriteltävä muille luokille riippumatta näiden luokkien perintöpuusta

Täytyy tietää tosiasiat käyttöliittymästä

  • Java-luokka voi toteuttaa useita Java-rajapintoja. On välttämätöntä, että luokan on toteutettava kaikki rajapinnoissa ilmoitetut menetelmät.
  • Luokan tulisi ohittaa kaikki käyttöliittymässä ilmoitetut abstraktit menetelmät
  • Käyttöliittymä mahdollistaa viestin lähettämisen objektille riippumatta siitä, mihin luokkiin se kuuluu.
  • Luokan on tarjottava toiminnallisuus käyttöliittymässä ilmoitetuille menetelmille.
  • Kaikki käyttöliittymän menetelmät ovat implisiittisesti julkisia ja abstrakteja
  • Käyttöliittymää ei voida instantisoida
  • Rajapinnan viite voi osoittaa sen toteutusluokkien kohteisiin
  • Liitäntä voi ulottua yhdestä tai useammasta rajapinnasta. Luokka voi laajentaa vain yhtä luokkaa, mutta toteuttaa minkä tahansa määrän rajapintoja
  • Liitäntä ei voi toteuttaa toista käyttöliittymää. Sen on tarvittaessa laajennettava toista käyttöliittymää.
  • Liitäntää, joka on ilmoitettu toisen rajapinnan sisällä, kutsutaan sisäkkäin
  • Ilmoituksen yhteydessä käyttöliittymämuuttuja on alustettava. Muuten kääntäjä heittää virheen.
  • Luokka ei voi toteuttaa Java-käyttöliittymässä kahta käyttöliittymää, joilla on menetelmiä samalla nimellä, mutta erilaiset palautustyypit.

Yhteenveto :

  • Rajapinnan toteuttavan luokan on tarjottava toiminnallisuus käyttöliittymässä ilmoitetuille menetelmille
  • Kaikki käyttöliittymän menetelmät ovat implisiittisesti julkisia ja abstrakteja
  • Käyttöliittymää ei voida instantisoida
  • Rajapinnan viite voi osoittaa sen toteutusluokkien kohteisiin
  • Liitäntä voi ulottua yhdestä tai useammasta rajapinnasta. Luokka voi laajentaa vain yhtä luokkaa, mutta toteuttaa minkä tahansa määrän rajapintoja