Kaj je vmesnik v Javi?
Vmesnik v Java programiranje je opredeljena kot abstrakten tip, ki se uporablja za določitev obnašanja razreda. Vmesnik Java vsebuje statične konstante in abstraktne metode. Razred lahko izvaja več vmesnikov. V Javi so vmesniki deklarirani s ključno besedo vmesnik. Vse metode v vmesniku so implicitno javne in abstraktne.
Sintaksa za prijavo vmesnika
interface {//methods}
Če želite v svojem razredu uporabiti vmesnik, dodajte imenu ključne besede "implements" za imenom predavanja, ki mu sledi ime vmesnika.
Primer izvedbe vmesnika
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Kliknite tukaj, če video ni dostopen
Zakaj je potreben vmesnik?
Če želite bolje razumeti koncept vmesnika Java, si oglejte primer. Razred "Media Player" ima dva podrazreda: CD predvajalnik in DVD predvajalnik. Vsak ima svoj edinstven način izvajanja za predvajanje glasbe.
Drug razred "kombiniranega pogona" podeduje tako CD kot DVD (glej sliko spodaj). Katero metodo igranja naj podeduje? To lahko povzroči resne težave z zasnovo. Java zato ne dovoljuje večkratnega dedovanja.
Zdaj pa vzemimo še en primer Psa.
Recimo, da imate zahtevo, da razred "pes" podeduje razred "žival" in "hišni ljubljenček" (glej sliko spodaj). V Javi pa ne morete razširiti dveh razredov. Kaj bi torej naredil? Rešitev je vmesnik.
Pravilnik za vmesnik pravi,
- Vmesnik je 100% abstraktni razred in ima samo abstraktne metode.
- Razred lahko izvaja poljubno število vmesnikov.
Razredni pes se lahko razširi na razred "Žival" in izvede vmesnik kot "hišni ljubljenček".
Primer vmesnika Java:
Korak 1) Kopirajte naslednjo kodo v urejevalnik.
vmesnik Pet {preizkus javne praznine ();}razred Pes izvaja Pet {javni preizkus praznine () {System.out.println ("Uporabljena metoda vmesnika");}public static void main (String args []) {Hišni ljubljenček p = nov pes ();p.test ();}}
Korak 2) Shranite, prevedite in zaženite kodo. Upoštevajte izhod.
Razlika med razredom in vmesnikom
Razred | Vmesnik |
---|---|
V razredu lahko ustvarite spremenljivko in ustvarite predmet. | V vmesniku ne morete ustvariti spremenljivke in ustvariti predmeta. |
Predavanje lahko vsebuje konkretne (z izvedbo) metode | Vmesnik ne sme vsebovati konkretnih (z izvedbo) metod |
Specifikatorji dostopa, ki se uporabljajo z razredi, so zasebni, zaščiteni in javni. |
V vmesniku je uporabljen samo en specifikator - javni. |
Kdaj uporabiti vmesnik in abstraktni razred?
- Če želite določiti predlogo za skupino podrazredov, uporabite abstraktni razred
- Uporabite vmesnik, kadar je treba določiti vlogo za druge razrede, ne glede na dedno drevo teh razredov
Moram vedeti dejstva o vmesniku
- Razred Java lahko izvaja več vmesnikov Java. Razred mora izvajati vse metode, deklarirane v vmesnikih.
- Razred mora preglasiti vse abstraktne metode, navedene v vmesniku
- Vmesnik omogoča pošiljanje sporočila predmetu, ne glede na to, v katere razrede spada.
- Razred mora zagotoviti funkcionalnost za metode, navedene v vmesniku.
- Vse metode v vmesniku so implicitno javne in abstraktne
- Vmesnika ni mogoče instantirati
- Sklic na vmesnik lahko kaže na predmete izvedbenih razredov
- Vmesnik se lahko razširi iz enega ali več vmesnikov. Razred lahko razširi samo en razred, vendar lahko uporabi poljubno število vmesnikov
- Vmesnik ne more implementirati drugega vmesnika. Po potrebi mora razširiti še en vmesnik.
- Vmesnik, ki je razglašen znotraj drugega vmesnika, se imenuje ugnezdeni vmesnik
- V času deklaracije je treba spremenljivko vmesnika inicializirati. V nasprotnem primeru bo prevajalnik vrnil napako.
- Razred v javi ne more implementirati dveh vmesnikov, ki imata metode z istim imenom, vendar različnim vrnjenim tipom.
Povzetek :
- Razred, ki izvaja vmesnik, mora zagotavljati funkcionalnost za metode, deklarirane v vmesniku
- Vse metode v vmesniku so implicitno javne in abstraktne
- Vmesnika ni mogoče instantirati
- Sklic na vmesnik lahko kaže na predmete izvedbenih razredov
- Vmesnik se lahko razširi iz enega ali več vmesnikov. Razred lahko razširi samo en razred, vendar lahko implementira poljubno število vmesnikov