Et grensesnitt som er en referanse type i Java. Det er omtrent klasse. Det er en samling av abstrakte metoder. En klasse som implementerer et interface, og dermed arve den abstrakte metodene i grensesnittet.
Sammen med abstrakte metoder, et grensesnitt kan også inneholde konstanter, standard metoder, statiske metoder, og nestede typer. Metoden organer eksisterer kun for standard metoder og statiske metoder.,
å Skrive en grensesnittet er likt å skrive en klasse. Men en klasse beskriver egenskaper og atferd av et objekt. Og et grensesnitt som inneholder atferd som en klasse implementerer.
med Mindre klasse som implementerer grensesnittet er abstrakt, alle metodene i grensesnittet må være definert i klassen.
Et grensesnitt som ligner på en klasse på følgende måter −
– >
-
Et grensesnitt kan bestå av en rekke metoder.
-
Et grensesnitt som er skrevet i en fil med en .java-extension, med navnet på grensesnittet matchende navnet på filen.,
-
byte-koden i et grensesnitt vises i en .klasse-fil.
-
Grensesnitt vises i pakker, og deres tilhørende bytecode-filen må være i en katalog struktur som samsvarer med pakken navn.
Imidlertid et grensesnitt som er forskjellige fra en klasse på flere måter, blant annet −
– >
-
Du kan ikke instantiate et grensesnitt.
-
Et grensesnitt som ikke inneholder noen konstruktører.
-
Alle av metodene i et grensesnitt som er abstrakt.
-
Et grensesnitt kan ikke inneholde eksempel felt., Det eneste som kan vises i et grensesnitt må være erklært både statisk og finalen.
-
Et grensesnitt som ikke er utvidet med en klasse; det er iverksatt av en klasse.
-
Et grensesnitt kan utvide med flere grensesnitt.
Erklære Grensesnitt
grensesnittet søkeord brukes til å erklære et grensesnitt. Her er et enkelt eksempel for å erklære et grensesnitt −
– >
Eksempel
Følgende er et eksempel på et grensesnitt −
– >
Grensesnitt har følgende egenskaper −
– >
-
Et grensesnitt som er implisitt abstrakt., Du trenger ikke å bruke abstrakte søkeord mens erklære et grensesnitt.
-
Hver metode i et grensesnitt er også implisitt abstrakt, så abstrakt søkeord er ikke nødvendig.
-
Metoder i et grensesnitt som er implisitt offentlige.
Eksempel
/* File name : Animal.java */interface Animal { public void eat(); public void travel();}
Implementering Grensesnitt
Når en klasse som implementerer et grensesnitt, kan du tenke på klassen som å signere en kontrakt en avtale om å utføre spesifikke atferd av grensesnittet. Hvis en klasse ikke utføre alle atferd i grensesnittet, klasse må erklære seg selv som abstrakte.,
En klasse bruker redskaper søkeord for å gjennomføre et grensesnitt. Betjeningsinnretninger søkeordet vises i klasse erklæring etter strekker del av erklæringen.
Eksempel
Dette vil gi følgende resultat −
– >
Output
Mammal eatsMammal travels
Når tvingende metoder definert i grensesnitt, det er flere regler som skal følges −
– >
-
Merket unntak skal ikke deklareres på gjennomføring hjelp av andre metoder enn de som er erklært av grensesnittet metode eller underklasser av de erklært av grensesnittet metode.,
-
signatur av grensesnitt metode og samme tilbake type eller undertype bør opprettholdes når overstyrer metoder.
-
En implementering klasse i seg selv kan være abstrakt og hvis så, grensesnitt metoder trenger ikke være implementert.
Når gjennomføringen grensesnitt, det er flere regler −
– >
-
En klasse kan implementere mer enn ett grensesnitt på en gang.
-
En klasse kan forlenge bare en klasse, men gjennomføre mange grensesnitt.
-
Et grensesnitt som kan utvide en annen grensesnitt, på en lignende måte som en klasse kan utvide en annen klasse.,
Utvide Grensesnitt
Et grensesnitt som kan utvide en annen grensesnitt på samme måte som en klasse kan utvide en annen klasse. Den strekker seg søkeord brukes til å forlenge et grensesnitt, og barnet grensesnitt arver metoder av den overordnede grensesnitt.
følgende Sports-grensesnitt er utvidet med Hockey og Fotball-grensesnitt.
Eksempel
Hockey-grensesnittet har fire metoder, men det arver to fra Sport, og derfor er en klasse som implementerer Hockey behov for å gjennomføre alle de seks metoder., På samme måte, en klasse som implementerer Fotball behov for å definere de tre metodene fra Fotball og de to metodene fra Sport.
Strekker seg Flere Grensesnitt
En Java-klasse kan bare forlenge en av foreldrene klasse. Flere arv er ikke tillatt. Grensesnitt er ikke klasser, imidlertid, og et grensesnitt som kan forlenge mer enn én forelder grensesnitt.
Den strekker seg søkeord er brukt en gang, og den overordnede grensesnitt er erklært i en kommaseparert liste.,
For eksempel, hvis Hockey-interface utvidet både Sport og Event, ville det bli erklært som −
– >
Eksempel
public interface Hockey extends Sports, Event
Tagging Grensesnitt
Den mest vanlige bruken av forlenge grensesnitt oppstår når foreldrene grensesnittet ikke inneholder noen metoder. For eksempel, den MouseListener grensesnitt i java.awt.event-pakke utvidet java.util.EventListener, som er definert som −
– >
Eksempel
package java.util;public interface EventListener{}
Et grensesnitt med ingen av metodene i det som er referert til som et grensesnitt for tagging., Det er to grunnleggende design hensikt å merke grensesnitt −
– >
Skaper en felles foreldre − Som med EventListener grensesnitt, som er utvidet med dusinvis av andre grensesnitt i Java-API, kan du bruke et grensesnitt for tagging til å lage en felles overordnet blant en gruppe av grensesnitt. For eksempel, når et grensesnitt som strekker seg EventListener, den JVM vet at dette bestemt grensesnitt kommer til å bli brukt i et tilfelle scenario.
Legger til en datatype til en klasse − Denne situasjonen er der begrepet, merking kommer fra., En klasse som implementerer et grensesnitt for tagging trenger ikke å definere noen metoder (siden grensesnittet ikke har noen), men klassen blir en grensesnitt-type gjennom polymorphism.