Gränssnitt i Java med exempel
⚡ Smart sammanfattning
Gränssnitt i Java är en magmuskeltract-typ som anger beteendet en klass måste implementera, innehållande konstanter och abstract-metoder. Den här resursen förklarar vad ett gränssnitt är, varför det krävs, hur man deklarerar och implementerar ett, och hur gränssnitt skiljer sig från klasser och abstract-klasser.

Vad är Interface i Java?
An Gränssnitt i Java programmeringsspråk definieras som ett abstract-typ som används för att ange en klass beteende. Java gränssnittet innehåller statiska konstanter och abstract-metoder. En klass kan implementera flera gränssnitt. I Java, gränssnitt deklareras med hjälp av nyckelordet interface. Alla metoder i gränssnittet är implicit publika och abstract.
Syntax för att deklarera gränssnitt
För att använda ett gränssnitt i din klass, lägg till nyckelordet "implements" efter ditt klassnamn, följt av gränssnittsnamnet.
interface { // methods }
Exempel för implementeringsgränssnitt
Låt oss nu förstå gränssnitt i Java med ett exempel:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Klicka här. om videon inte är tillgänglig.
Klicka här. om videon inte är tillgänglig
Varför krävs ett gränssnitt?
För att förstå användningen av ett gränssnitt i Java bättre, låt oss titta på en Java gränssnittsexempel. Klassen ”Mediaspelare” har två underklasser: CD-spelare och DVD-spelare. Var och en har sin egen unika gränssnittsimplementeringsmetod för att spela musik.
En annan klass, ”Combo-enhet”, ärver både CD och DVD (se bilden nedan). Vilken uppspelningsmetod ska den ärva? Detta kan orsaka allvarliga designproblem, och därmed, Java tillåter inte flera arv.
Låt oss nu ta ett annat exempel med en hund.
Anta att du har ett krav där klassen "hund" ärver klassen "djur" och "husdjur" (se bilden nedan). Men du kan inte utöka två klasser i JavaSå vad skulle du göra? Lösningen är ett gränssnitt.
Regelboken för ett gränssnitt säger:
- A Java gränssnittet är 100 % abstract-klassen och har bara abstract-metoder.
- En klass kan implementera ett valfritt antal gränssnitt.
Klass Hund kan utöka klassen ”Djur” och implementera gränssnittet ”Pet”.
Java Gränssnittsexempel
Låt oss förstå gränssnittsprogrammet nedan i Java:
Steg 1) Kopiera följande kod till en editor.
interface Pet { public void test(); } class Dog implements Pet { public void test() { System.out.println("Interface Method Implemented"); } public static void main(String args[]) { Pet p = new Dog(); p.test(); } }
Steg 2) Spara, kompilera och kör koden. Observera utdata från gränssnittet i Java program.
Skillnaden mellan klass och gränssnitt
| Klass | Gränssnitt |
|---|---|
| I en klass kan du instansiera variabler och skapa ett objekt. | I ett gränssnitt kan du inte instansiera variabler eller skapa ett objekt. |
| En klass kan innehålla konkreta (med implementation) metoder. | Ett gränssnitt kan inte innehålla konkreta (med implementations-) metoder. |
| Åtkomstspecifikationerna som används med klasser är privata, skyddade och offentliga. | I ett gränssnitt används endast en specifikator – public. |
När man ska använda Interface och Abstract-klass?
- Använd magmusklernatract-klassen när en mall behöver definieras för en grupp underklasser.
- Använd ett gränssnitt när en roll behöver definieras för andra klasser, oavsett arvsträdet för dessa klasser.
Måste känna till fakta om Interface
- A Java klass kan implementera flera Java gränssnitt. Det är nödvändigt att klassen implementerar alla metoder som deklarerats i gränssnitten.
- En klass bör åsidosätta alla magmusklertract-metoder deklarerade i gränssnittet.
- Gränssnittet gör det möjligt att skicka ett meddelande till ett objekt utan att behöva bry sig om vilken klass det tillhör.
- En klass måste tillhandahålla funktionalitet för de metoder som deklareras i gränssnittet.
- Alla metoder i ett gränssnitt är implicit publika och abstract.
- Ett gränssnitt kan inte instansieras.
- En gränssnittsreferens kan peka på objekt i dess implementerande klasser.
- Ett gränssnitt kan utökas från ett eller flera gränssnitt. En klass kan endast utöka en klass men implementera ett valfritt antal gränssnitt.
- Ett gränssnitt kan inte implementera ett annat gränssnitt. Det måste utöka ett annat gränssnitt om det behövs.
- Ett gränssnitt som deklareras inuti ett annat gränssnitt kallas ett kapslat gränssnitt.
- Vid deklarationstillfället måste en gränssnittsvariabel initieras. Annars kommer kompilatorn att ge ett fel.
- En klass kan inte implementera två gränssnitt i Java som har metoder med samma namn men en annan returtyp.




