Welcome to Our Website

Java-Interfaces (Magyar)

egy interfész a Java-ban referenciatípus. Hasonló az osztályhoz. Ez egy absztrakt módszerek gyűjteménye. Egy osztály egy interfészt valósít meg, ezáltal örökli az interfész absztrakt módszereit.

az absztrakt módszerek mellett az interfész tartalmazhat konstansokat, alapértelmezett metódusokat, statikus metódusokat és beágyazott típusokat is. A metódus testek csak az alapértelmezett metódusokhoz és statikus metódusokhoz léteznek.,

Az interfész írása hasonló az osztály írásához. De egy osztály leírja egy objektum attribútumait és viselkedését. Az interfész olyan viselkedéseket tartalmaz, amelyeket egy osztály valósít meg.

hacsak az interfészt megvalósító osztály nem absztrakt, az interfész összes módját meg kell határozni az osztályban.

Az interfész a következő módokon hasonlít egy osztályhoz −

  • Az interfész tetszőleges számú módszert tartalmazhat.

  • egy felület van írva egy fájlt a .java kiterjesztés, amelynek neve megegyezik a fájl nevével.,

  • Az interfész bájtkódja a-ban jelenik meg .osztályfájl.

  • interfészek jelennek meg a csomagokban, a megfelelő bájtkódfájlnak pedig a csomag nevének megfelelő könyvtárszerkezetben kell lennie.

azonban egy interfész többféle módon különbözik az osztálytól, beleértve a −

  • nem lehet létrehozni egy interfészt.

  • egy interfész nem tartalmaz konstruktorokat.

  • Az interfész összes módszere absztrakt.

  • egy interfész nem tartalmazhat példány mezőket., Az egyetlen mezőt, amely megjelenhet egy interfészen, mind statikusnak, mind véglegesnek kell nyilvánítani.

  • az interfészt nem egy osztály hosszabbítja meg, hanem egy osztály hajtja végre.

  • egy interfész több interfészt is kiterjeszthet.

interfészek deklarálása

Az interfész kulcsszó egy interfész deklarálására szolgál. Itt van egy egyszerű példa egy interfész deklarálására –

példa

a következő példa egy interfész –

interfészek a következő tulajdonságokkal rendelkeznek −

  • egy interfész implicit módon absztrakt., Nem kell az absztrakt kulcsszót használni, miközben egy felületet deklarál.

  • Az interfész minden módszere implicit módon absztrakt is, így az absztrakt kulcsszóra nincs szükség.

  • módszerek egy interfészen implicit módon nyilvánosak.

példa

/* File name : Animal.java */interface Animal { public void eat(); public void travel();}

Implementing interface

amikor egy osztály implementál egy interfészt, úgy tekinthet az osztályra, mint egy szerződés aláírására, beleegyezve, hogy elvégzi az interfész sajátos viselkedését. Ha egy osztály nem hajtja végre az interfész összes viselkedését, az osztálynak absztraktnak kell nyilvánítania magát.,

egy osztály az implements kulcsszót használja egy interfész megvalósításához. Az implementes kulcsszó a deklaráció kiterjesztési részét követően jelenik meg az osztály deklarációban.

Példa

Ez fog a következő eredmény −

Kimenet

Mammal eatsMammal travels

Ha a kényszerítő módszerek meghatározott felületek, számos követendő szabályokat −

  • Ellenőrzött kivétellel nem kell minősíteni a végrehajtási módszerek más, mint az azok által bejelentett, a felület módszer vagy alosztályok azok által bejelentett, a felület módszer.,

  • Az interface metódus aláírását és ugyanazt a visszatérési típust vagy altípust fenn kell tartani a módszerek felülírásakor.

  • egy implementációs osztály maga is absztrakt lehet, és ha igen, az interfészmódszereket nem kell végrehajtani.

implementációs interfészek esetén számos szabály létezik −

  • egy osztály egyszerre több interfészt is megvalósíthat.

  • egy osztály csak egy osztályt bővíthet, de számos interfészt implementálhat.

  • egy interfész kiterjeszthet egy másik felületet, hasonlóan, mint egy osztály kiterjeszthet egy másik osztályt.,

kiterjesztő interfészek

egy interfész kiterjeszthet egy másik interfészt ugyanúgy, mint egy osztály kiterjeszthet egy másik osztályt. Az extends kulcsszó egy interfész kiterjesztésére szolgál, a gyermek interfész pedig örökli a szülő interfész módszereit.

a következő sportfelületet bővíti a jégkorong és a labdarúgás.

Példa

A Jégkorong felület négy módszerek, de örökli a két Sport; így egy osztályt, amely megvalósítja a Hoki kell végrehajtani mind a hat módszerek., Hasonlóképpen, a futballt megvalósító osztálynak meg kell határoznia a labdarúgás három módszerét, valamint a sport két módszerét.

több interfész kiterjesztése

a Java osztály csak egy szülő osztályt bővíthet. Többszörös öröklés nem megengedett. Az interfészek azonban nem osztályok, egy interfész pedig több szülő interfészt is kiterjeszthet.

az extends kulcsszót egyszer használják, a szülő interfészeket pedig vesszővel elválasztott listában deklarálják.,

például, ha a jégkorong interfész mind a sportot, mind az eseményt kiterjesztette, akkor azt −

példa

public interface Hockey extends Sports, Event

Címkézési interfészek

a kiterjesztési interfészek leggyakoribb használata akkor fordul elő, ha a szülő interfész nem tartalmaz semmilyen módszert. Például a mouselistener felület a java-ban.awt.esemény csomag kiterjesztett java.util.EventListener, amely a következőképpen definiálható −-

példa

package java.util;public interface EventListener{}

egy olyan interfész, amelyben nincsenek módszerek, címkézési interfésznek nevezzük., Van két alapvető tervezési célokra, tagging interfészek −

Létrehoz egy közös szülő − Mint a EventListener felület, ami által kiterjesztett több tucat más kapcsolódási pontok a Java API-t használja, címkézés felületet létrehozni egy közös szülő között felületek egy csoportját címezik. Például, amikor egy interfész kiterjeszti az Eseménylistenert, a JVM tudja, hogy ezt az interfészt egy eseményküldési forgatókönyvben fogják használni.

adattípust ad hozzá egy osztályhoz − ez a helyzet az, ahol a kifejezés, a címkézés származik., A címkézési felületet megvalósító osztálynak nem kell semmilyen módszert meghatároznia (mivel az interfésznek nincs ilyen), de az osztály polimorfizmus révén interfész típussá válik.

Reklámok

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük