Ett gränssnitt är en referens typ som används för att genomdriva ett kontrakt med en klass. Ett kontrakt avser en skyldighet att implementera de metoder som ett gränssnitt definierar.

Gränssnitt ger en abstraktion mellan metoderna de definierar och hur användaren implementerar dem i en klass. Ett praktiskt användningsfall av detta finns i API: er (Application Programming Interfaces).

API: er låter ditt program kommunicera med andra program utan att veta hur de implementeras. Detta är viktigt av både egna skäl (för företaget som äger rättigheterna) och för enkel utveckling från din sida.

Låt oss ta en titt på hur du använder Java -gränssnitt.

Definiera gränssnitt

För att deklarera ett gränssnitt, placera nyckelordet gränssnitt före gränssnittets namn.

gränssnitt Bil {
// ständiga deklarationer, om sådana finns
int däck = 4;
// metod signaturer
int ljus (int ljusstyrka);
int sväng (int däck, strängriktning) {
// lite kod
}
}

I gränssnittets rubrik kan du också inkludera dess synlighet före sökordet gränssnitt.

Värdena i ett gränssnitt är konstanta. Dessa värden är som standard allmän, statisk och slutlig. Därför behöver du inte använda dessa nyckelord när du deklarerar värden i ett gränssnitt.

Relaterad: Hur man hanterar variabelt omfång i Java

Ett gränssnitts kropp kan också ha standard, abstrakt, statisk metoder. Dessa metoder är som standard offentlig, så det finns ingen anledning att ange dessa åtkomstmodifierare när du deklarerar dem.

Abstrakta metoder deklareras genom att utesluta de lockiga parenteserna i en metodkropp. Se rad 7 i koden ovan. Statiska metoder deklareras genom att fortsätta metodnamnet med nyckelordet statisk & standardmetoder deklareras med standard modifierare.

Nu skulle det vara bra att nämna att du måste använda metoder som deklareras i ett gränssnitt i alla klasser som implementerar det. Om du inte gör det kommer kompilatorn att "genomdriva kontraktet" genom att ge ett sammanställningsfel.

Denna speciella egenskap hos gränssnitt kan ha vissa nackdelar. Tänk på ett fall där en applikationsprogrammeringsgränssnitt (API) -leverantör beslutar att lägga till fler metoder till sina gränssnitt, men flera appar är baserade på de gamla gränssnitten. Utvecklare som använder de gamla gränssnitten i sina program skulle behöva skriva om sin kod, vilket inte är praktiskt.

Så, det är där standard metoder kommer in. De gör det möjligt för API -leverantörer att lägga till fler metoder i sina gränssnitt samtidigt som de garanterar binär kompatibilitet med äldre gränssnittsversioner.

standard int getDirection (strängkoordinater) {
// skriva lite kod för att ge en standardimplementering
}

Ovanstående metod visar hur en standardmetod kallas få vägbeskrivning deklareras. Lägg märke till att du måste inkludera en implementering av en standardmetod när du skriver den.

Använda gränssnitt

Nu har vi definierat gränssnitt i Java, vi kan gå vidare till hur du kan implementera dem. Du får reda på detta i avsnittet nedan.

Implementera gränssnitt

Använd nyckelordet för att implementera ett gränssnitt redskap med denna syntax:

klass A implementerar gränssnitt P {
}

Kom ihåg att du måste använda alla gränssnittsmetoder i klassen. Du kan bara ignorera denna regel om en av metoderna är definierad som standard i gränssnittet.

Relaterad: En introduktion till användning av länkade listor i Java

Om du vill att din klass ska implementera flera gränssnitt kan du separera dem med kommatecken i din rubrikdeklaration.

Exempel:

klass A implementerar gränssnitt P, Q, R {
}

Om klassen som implementerar gränssnittet är en underklass, använd syntaxen nedan:

klass A sträcker sig B implementerar C, D {
}

Gränssnitt möjliggör flera arv i Java. Vanligtvis kan en klass endast förlänga en klass (enda arv). Gränssnitt är det enda sättet att Java kan utföra flera arv.

Gränssnitt kan också utöka andra gränssnitt, precis som en klass kan utöka en annan klass. Barngränssnittet ärver metoderna för gränssnittet som det utökar.

Se exemplet nedan:

gränssnitt A utökar B { 
}

Förutom att använda standardmetoder för att ändra ett gränssnitt utan att utvecklarna behöver ändra sina nuvarande program kan du också utöka de befintliga gränssnitten.

Nu har du grundläggande kunskaper om Java -gränssnitt

Gränssnitt i Java visar abstraktion, en av de fyra pelarna i objektorienterad programmering. Polymorfism är en av de fyra pelarna. Det hänvisar till förmågan hos en metod att anta många former.

Du kan implementera polymorfism i Java genom metodöverbelastning eller metodöverstyrning. Nästa på din Java -läslista bör vara hur du implementerar dessa funktioner.

Dela med sigTweetE-post
Polymorfism i Java: Hur man överbelastar eller åsidosätter metoder

Skär ner på koden du skriver med metodöverbelastning och överstyrning.

Läs Nästa

Relaterade ämnen
  • Programmering
  • Java
  • Programmeringsspråk
  • Programmering
Om författaren
Jerome Davidson (25 artiklar publicerade)

Jerome är personalförfattare på MakeUseOf. Han täcker artiklar om programmering och Linux. Han är också en kryptoentusiast och håller alltid koll på kryptoindustrin.

Mer från Jerome Davidson

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera