Grensesnitt i Java med eksempel
โก Smart oppsummering
Grensesnitt i Java er en magemuskeltract-type som spesifiserer oppfรธrselen en klasse mรฅ implementere, som inneholder konstanter og abstract-metoder. Denne ressursen forklarer hva et grensesnitt er, hvorfor det er nรธdvendig, hvordan man deklarerer og implementerer et, og hvordan grensesnitt skiller seg fra klasser og abstract-klasser.

Hva er grensesnitt i Java?
An Grensesnitt i Java programmeringssprรฅk er definert som et abstract-typen som brukes til รฅ spesifisere oppfรธrselen til en klasse. Java grensesnittet inneholder statiske konstanter og abstract-metoder. En klasse kan implementere flere grensesnitt. I Java, grensesnitt deklareres ved hjelp av nรธkkelordet interface. Alle metoder i grensesnittet er implisitt offentlige og abstract.
Syntaks for erklรฆringsgrensesnitt
For รฅ bruke et grensesnitt i klassen din, legg til nรธkkelordet ยซimplementsยป etter klassenavnet, etterfulgt av grensesnittnavnet.
interface { // methods }
Eksempel for implementering av grensesnitt
La oss nรฅ forstรฅ grensesnitt i Java med et eksempel:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Klikk her. hvis videoen ikke er tilgjengelig.
Klikk her. hvis videoen ikke er tilgjengelig
Hvorfor kreves et grensesnitt?
ร forstรฅ bruken av et grensesnitt i Java bedre, la oss se pรฅ en Java Eksempel pรฅ grensesnitt. Klassen ยซMediaspillerยป har to underklasser: CD-spiller og DVD-spiller. Hver har sin egen unike grensesnittimplementeringsmetode for รฅ spille av musikk.
En annen klasse, ยซCombo-stasjonยป, arver bรฅde CD og DVD (se bildet nedenfor). Hvilken avspillingsmetode skal den arve? Dette kan forรฅrsake alvorlige designproblemer, og dermed Java tillater ikke flere arv.
La oss nรฅ ta et annet eksempel med en hund.
Anta at du har et krav der klassen ยซhundยป arver klassen ยซdyrยป og ยซkjรฆledyrยป (se bildet nedenfor). Men du kan ikke utvide to klasser i JavaSรฅ hva ville du gjort? Lรธsningen er et grensesnitt.
Regelboken for et grensesnitt sier:
- A Java grensesnittet er 100 % abstract-klassen og har bare abstract-metoder.
- En klasse kan implementere et hvilket som helst antall grensesnitt.
Klasse Hund kan utvide klassen ยซDyrยป og implementere grensesnittet ยซKjรฆledyrยป.
Java Eksempel pรฅ grensesnitt
La oss forstรฅ grensesnittprogrammet nedenfor i Java:
Trinn 1) Kopier fรธlgende kode inn i 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(); } }
Trinn 2) Lagre, kompiler og kjรธr koden. Observer utdataene fra grensesnittet i Java program.
Forskjellen mellom klasse og grensesnitt
| Klasse | Interface |
|---|---|
| I en klasse kan du instansiere variabler og opprette et objekt. | I et grensesnitt kan du ikke instansiere variabler eller opprette et objekt. |
| En klasse kan inneholde konkrete (med implementerings-) metoder. | Et grensesnitt kan ikke inneholde konkrete (med implementerings-) metoder. |
| Tilgangsspesifikasjonene som brukes med klasser er private, protected og public. | I et grensesnitt brukes bare รฉn spesifikator โ public. |
Nรฅr du skal bruke Interface og Abstract-klasse?
- Bruk magemusklenetract-klassen nรฅr en mal mรฅ defineres for en gruppe underklasser.
- Bruk et grensesnitt nรฅr en rolle mรฅ defineres for andre klasser, uavhengig av arvstreet til disse klassene.
Mรฅ vite fakta om grensesnitt
- A Java klasse kan implementere flere Java grensesnitt. Det er nรธdvendig at klassen implementerer alle metodene som er deklarert i grensesnittene.
- En klasse bรธr overstyre alle mageรธvelsenetract-metoder deklarert i grensesnittet.
- Grensesnittet tillater รฅ sende en melding til et objekt uten รฅ bekymre seg for hvilken klasse det tilhรธrer.
- En klasse mรฅ tilby funksjonalitet for metodene som er deklarert i grensesnittet.
- Alle metoder i et grensesnitt er implisitt offentlige og abstract.
- Et grensesnitt kan ikke instansieres.
- En grensesnittreferanse kan peke til objekter i implementeringsklassene.
- Et grensesnitt kan utvide seg fra ett eller flere grensesnitt. En klasse kan bare utvide รฉn klasse, men implementere et hvilket som helst antall grensesnitt.
- Et grensesnitt kan ikke implementere et annet grensesnitt. Det mรฅ utvide et annet grensesnitt om nรธdvendig.
- Et grensesnitt som er deklarert inne i et annet grensesnitt kalles et nestet grensesnitt.
- Ved deklarasjonstidspunktet mรฅ en grensesnittvariabel initialiseres. Ellers vil kompilatoren gi en feil.
- En klasse kan ikke implementere to grensesnitt i Java som har metoder med samme navn, men en annen returtype.




