Welcome to Our Website

Java-gränssnitt

annonser

ett gränssnitt är en referenstyp i Java. Det liknar klassen. Det är en samling abstrakta metoder. En klass implementerar ett gränssnitt och därmed ärver de abstrakta metoderna för gränssnittet.

tillsammans med abstrakta metoder kan ett gränssnitt också innehålla konstanter, standardmetoder, statiska metoder och kapslade typer. Metodkroppar finns endast för standardmetoder och statiska metoder.,

skriva ett gränssnitt liknar skriva en klass. Men en klass beskriver attribut och beteenden för ett objekt. Och ett gränssnitt innehåller beteenden som en klass implementerar.

om inte klassen som implementerar gränssnittet är abstrakt måste alla metoder för gränssnittet definieras i klassen.

ett gränssnitt liknar en klass på följande sätt −

  • ett gränssnitt kan innehålla valfritt antal metoder.

  • ett gränssnitt skrivs i en fil med en .java-tillägg, med namnet på gränssnittet som matchar namnet på filen.,

  • byte-koden för ett gränssnitt visas i A .klassfil.

  • gränssnitt visas i paket, och deras motsvarande bytecode-fil måste finnas i en katalogstruktur som matchar Paketnamn.

men ett gränssnitt skiljer sig från en klass på flera sätt, inklusive −

  • Du kan inte instansiera ett gränssnitt.

  • ett gränssnitt innehåller inga konstruktörer.

  • alla metoder i ett gränssnitt är abstrakta.

  • ett gränssnitt kan inte innehålla instansfält., De enda fält som kan visas i ett gränssnitt måste deklareras både statisk och slutlig.

  • ett gränssnitt utökas inte av en klass; det implementeras av en klass.

  • ett gränssnitt kan utöka flera gränssnitt.

förklara gränssnitt

gränssnittssordet används för att deklarera ett gränssnitt. Här är ett enkelt exempel för att förklara ett gränssnitt −

exempel

Följande är ett exempel på ett gränssnitt −

gränssnitt har följande egenskaper −

  • ett gränssnitt är implicit abstrakt., Du behöver inte använda det abstrakta sökordet medan du deklarerar ett gränssnitt.

  • varje metod i ett gränssnitt är också implicit abstrakt, så det abstrakta sökordet behövs inte.

  • metoder i ett gränssnitt är implicit offentliga.

exempel

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

implementera gränssnitt

När en klass implementerar ett gränssnitt kan du tänka på klassen som att underteckna ett kontrakt och godkänna att utföra gränssnittets specifika beteenden. Om en klass inte utför alla beteenden i gränssnittet måste klassen förklara sig abstrakt.,

en klass använder nyckelordet implementerar för att implementera ett gränssnitt. Nyckelordet implementerar visas i klassdeklarationen efter den utvidgade delen av deklarationen.

exempel

detta kommer att ge följande resultat −

utgång

Mammal eatsMammal travels

När övergripande metoder definieras i Gränssnitt, finns det flera regler som ska följas −

  • kontrollerade undantag bör inte deklareras om andra implementeringsmetoder än de som deklareras genom gränssnittsmetoden eller underklasserna för de som deklareras genom gränssnittsmetoden.,

  • signaturen för gränssnittsmetoden och samma returtyp eller subtyp bör bibehållas när metoderna åsidosätts.

  • en implementeringsklass i sig kan vara abstrakt och i så fall behöver gränssnittsmetoder inte implementeras.

När implementeringsgränssnitt finns det flera regler −

  • en klass kan implementera mer än ett gränssnitt åt gången.

  • en klass kan bara omfatta en klass, men implementera många gränssnitt.

  • ett gränssnitt kan utöka ett annat gränssnitt, på ett liknande sätt som en klass kan utöka en annan klass.,

utöka gränssnitt

ett gränssnitt kan utöka ett annat gränssnitt på samma sätt som en klass kan utöka en annan klass. Det utökade sökordet används för att utöka ett gränssnitt, och det underordnade gränssnittet ärver metoderna för det överordnade gränssnittet.

följande Sportgränssnitt utökas av Hockey och Fotbollsgränssnitt.

exempel

Hockeygränssnittet har fyra metoder, men det ärver två från Sport; således måste en klass som implementerar Hockey genomföra alla sex metoderna., På samma sätt måste en klass som genomför fotboll definiera de tre metoderna från fotboll och de två metoderna från Sport.

utöka flera gränssnitt

en Java-klass kan bara utöka en överordnad klass. Flera arv är inte tillåtet. Gränssnitt är dock inte klasser, och ett gränssnitt kan förlänga mer än ett överordnat gränssnitt.

sökordet utökar används en gång och de överordnade gränssnitten deklareras i en kommaseparerad lista.,

om Hockeygränssnittet utökade både sport och evenemang skulle det till exempel förklaras som −

exempel

public interface Hockey extends Sports, Event

Taggningsgränssnitt

den vanligaste användningen av utökade gränssnitt uppstår när det överordnade gränssnittet inte innehåller några metoder. Till exempel mouselistener-gränssnittet i java.awt.händelsepaket utökad java.util.EventListener, som definieras som −

exempel

package java.util;public interface EventListener{}

ett gränssnitt utan metoder i det kallas ett tagggränssnitt., Det finns två grundläggande designändamål för att märka gränssnitt −

skapar en gemensam förälder-som med EventListener-gränssnittet, som utökas av dussintals andra gränssnitt i Java API, kan du använda ett taggningsgränssnitt för att skapa en gemensam förälder bland en grupp gränssnitt. Till exempel, när ett gränssnitt utökar EventListener, vet JVM att det här gränssnittet kommer att användas i ett händelsedelegationsscenario.

lägger till en datatyp i en klass − den här situationen är där termen, taggning kommer från., En klass som implementerar ett taggningsgränssnitt behöver inte definiera några metoder (eftersom gränssnittet inte har någon), men klassen blir en gränssnittstyp genom polymorfism.

annonser

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *