Wat is interface in Java:hoe een interface met voorbeeld te implementeren?
Wat is interface in Java?
Een Interface in Java programmeertaal wordt gedefinieerd als een abstract type dat wordt gebruikt om het gedrag van een klasse te specificeren. Een Java-interface bevat statische constanten en abstracte methoden. Een klasse kan meerdere interfaces implementeren. In Java worden interfaces gedeclareerd met het sleutelwoord interface. Alle methoden in de interface zijn impliciet openbaar en abstract.
Nu zullen we leren hoe we de interface in Java kunnen gebruiken.
Syntaxis voor het declareren van interface
Om een interface in je klas te gebruiken, voeg je het trefwoord 'implements' toe na je klasnaam, gevolgd door de interfacenaam.
interface { //methods }
Voorbeeld voor het implementeren van interface
Laten we nu de interface in Java begrijpen met een voorbeeld:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Klik hier als de video niet toegankelijk is
Waarom is een interface vereist?
Om het gebruik van de interface in Java beter te begrijpen, laten we een voorbeeld van een Java-interface zien. De klasse "Mediaspeler" heeft twee subklassen:cd-speler en dvd-speler. Elk heeft zijn unieke interface-implementatie in de Java-methode om muziek af te spelen.
Een andere klasse "Combo drive" erft zowel cd als dvd (zie onderstaande afbeelding). Welke speelmethode moet het erven? Dit kan ernstige ontwerpproblemen veroorzaken. En daarom staat Java geen meervoudige overerving toe.
Laten we nu nog een voorbeeld van Hond nemen.
Stel dat u een vereiste heeft waarbij klasse “hond” klasse “dier” en “Huisdier” erft (zie onderstaande afbeelding). Maar je kunt in Java geen twee klassen uitbreiden. Dus wat zou je doen? De oplossing is Interface.
Het regelboek voor de interface zegt:
- Een Java-implementatie-interface is 100% abstracte klasse en heeft alleen abstracte methoden.
- Klasse kan een willekeurig aantal interfaces implementeren.
Class Dog kan worden uitgebreid tot klasse "Animal" en de interface implementeren als "Pet".
Java-interfacevoorbeeld:
Laten we het onderstaande interfaceprogramma in Java begrijpen:
Stap 1) Kopieer de volgende code naar een 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(); } }
Stap 2) Bewaar, compileer en voer de code uit. Bekijk de uitvoer van de interface in het Java-programma.
Verschil tussen klasse en interface
In de klas kun je variabelen instantiëren en een object maken. | In een interface kun je geen variabele instantiëren en een object maken. |
Klasse kan concrete (met implementatie) methoden bevatten | De interface mag geen concrete (met implementatie) methoden bevatten |
De toegangsspecificaties die bij klassen worden gebruikt, zijn privé, beveiligd en openbaar. | In Interface wordt slechts één specificatie gebruikt:Openbaar. |
Wanneer gebruik je de interface en abstracte klasse?
- Gebruik een abstracte klasse wanneer een sjabloon moet worden gedefinieerd voor een groep subklassen
- Gebruik een interface wanneer een rol moet worden gedefinieerd voor andere klassen, ongeacht de overervingsboom van deze klassen
Moet weten over Interface
- Een Java-klasse kan meerdere Java-interfaces implementeren. Het is noodzakelijk dat de klasse alle methoden implementeert die in de interfaces zijn gedeclareerd.
- Klasse zou alle abstracte methoden moeten overschrijven die in de interface zijn gedeclareerd
- De interface maakt het mogelijk om een bericht naar een object te sturen zonder dat je hoeft te weten tot welke klassen het behoort.
- Klasse moet functionaliteit bieden voor de methoden die in de interface zijn gedeclareerd.
- Alle methoden in een interface zijn impliciet openbaar en abstract
- Een interface kan niet worden geïnstantieerd
- Een interfacereferentie kan verwijzen naar objecten van zijn implementatieklassen
- Een interface kan uit één of meerdere interfaces bestaan. Klasse kan slechts één klasse uitbreiden, maar een willekeurig aantal interfaces implementeren
- Een interface kan geen andere interface implementeren. Het moet indien nodig een andere interface uitbreiden.
- Een interface die binnen een andere interface is gedeclareerd, wordt geneste interface genoemd
- Op het moment van declaratie moet de interfacevariabele worden geïnitialiseerd. Anders geeft de compiler een fout.
- De klasse kan geen twee interfaces in Java implementeren die methoden hebben met dezelfde naam maar met een ander retourtype.
Samenvatting :
- De klasse die de interface implementeert, moet functionaliteit bieden voor de methoden die in de interface zijn gedeclareerd
- Alle methoden in een interface zijn impliciet openbaar en abstract
- Een interface kan niet worden geïnstantieerd
- Een interfacereferentie kan verwijzen naar objecten van zijn implementatieklassen
- Een interface kan uit één of meerdere interfaces bestaan. Een klasse kan slechts één klasse uitbreiden, maar een willekeurig aantal interfaces implementeren
Java
- Java-interface
- C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?
- Wat is interface in C# met voorbeeld?
- Java Hello World:hoe u uw eerste Java-programma met voorbeeld schrijft
- String Length() Methode in Java:Hoe te vinden met Voorbeeld
- Java String charAt() Methode met Voorbeeld
- Java String endsWith() Methode met voorbeeld
- Interface versus abstracte klasse in Java:wat is het verschil?
- Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld
- Invoegsorteeralgoritme in Java met programmavoorbeeld
- Java - Interfaces