Interface-in Java met Voorbeeld

โšก Slimme samenvatting

Interface-in Java is een buiktract type dat het gedrag specificeert dat een klasse moet implementeren, met daarin constanten en abstract-methoden. Deze bron legt uit wat een interface is, waarom deze nodig is, hoe je er een declareert en implementeert, en hoe interfaces verschillen van klassen en abs.tract klassen.

  • ๐Ÿ“œ Definitie: Een interface specificeert gedrag met behulp van abs.tract methoden en constanten die implementerende klassen moeten leveren.
  • ๐Ÿ”‘ trefwoord: Interfaces worden gedeclareerd met het trefwoord `interface`, en klassen gebruiken `implements` om ze over te nemen.
  • ๐Ÿงฉ Meerdere overerving: Een klasse kan meerdere interfaces implementeren, waardoor problemen worden opgelost. Javahet ontbreken van meervoudige klasse-overerving.
  • โ€‹ Klasse versus interface: In tegenstelling tot klassen kunnen interfaces niet worden geรฏnstantieerd en bevatten ze traditioneel alleen openbare toegang.tract-methoden.
  • ๐ŸŽฏ Wanneer te gebruiken: Gebruik een interface om een โ€‹โ€‹rol te definiรซren voor niet-gerelateerde klassen, en een abstract-klasse voor een gedeelde sjabloon.

Interface-in Java

Wat is interface-in Java?

An Interface-in Java Een programmeertaal wordt gedefinieerd als een abstraheertract type gebruikt om het gedrag van een klasse te specificeren. A Java interface bevat statische constanten en abstract-methoden. Een klasse kan meerdere interfaces implementeren. In JavaInterfaces worden gedeclareerd met het sleutelwoord `interface`. Alle methoden in de interface zijn impliciet openbaar en abs.tract.

Syntaxis voor het declareren van interface

Om een โ€‹โ€‹interface in je klasse te gebruiken, voeg je het trefwoord "implements" toe na de klassenaam, gevolgd door de naam van de interface.

interface {
   // methods
}

Voorbeeld voor het implementeren van een interface

Laten we nu interfaces eens nader bekijken in Java met een voorbeeld:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Klik hier als de video niet toegankelijk is.

Klik hier als de video niet toegankelijk is

Waarom is een interface vereist?

Om het gebruik van een interface te begrijpen in Java Laten we, beter nog, eens kijken naar een Java Voorbeeld van een interface. De klasse "Media Player" heeft twee subklassen: cd-speler en dvd-speler. Elk heeft zijn eigen unieke interface-implementatiemethode om muziek af te spelen.

Waarom is een interface vereist?

Een andere klasse, "Combo drive", erft zowel cd- als dvd-functionaliteit (zie onderstaande afbeelding). Welke afspeelmethode moet deze overerven? Dit kan leiden tot ernstige ontwerpproblemen, en daarom... Java laat meerdere niet toe erfenis.

Waarom is een interface vereist?

Laten we nu eens een ander voorbeeld nemen: een hond.

Stel dat je een vereiste hebt waarbij de klasse "hond" de klassen "dier" en "huisdier" overerft (zie onderstaande afbeelding). Maar je kunt geen twee klassen overerven in JavaWat zou je dan doen? De oplossing is een interface.

Waarom is een interface vereist?

Volgens de regels voor een interface:

  • A Java De interface is 100% ABS.tract-klasse en heeft alleen abstract-methoden.
  • Een klasse kan een willekeurig aantal interfaces implementeren.

De klasse Hond kan de klasse "Dier" uitbreiden en de interface "Huisdier" implementeren.

Waarom is een interface vereist?

Java Interfacevoorbeeld

Laten we het onderstaande interfaceprogramma eens nader bekijken. Java:

Stap 1) Kopieer de volgende code in 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) Sla de code op, compileer en voer deze uit. Bekijk de uitvoer van de interface in de Java programma.

Verschil tussen klasse en interface

Klasse Interface
In een klasse kun je variabelen instantiรซren en een object creรซren. In een interface kun je geen variabelen instantiรซren of objecten aanmaken.
Een klasse kan concrete (met implementatie) methoden bevatten. Een interface kan geen concrete (met implementatie) methoden bevatten.
De toegangsspecificaties die bij klassen worden gebruikt, zijn private, protected en public. In een interface wordt slechts รฉรฉn specificatie gebruikt: public.

Wanneer moet je Interface en Abs gebruiken?tract-klas?

  • Gebruik een buikspiertract-klasse wanneer een sjabloon moet worden gedefinieerd voor een groep subklassen.
  • Gebruik een interface wanneer een rol voor andere klassen moet worden gedefinieerd, ongeacht de overervingsstructuur van deze klassen.

Moet feiten over Interface kennen

  • A Java klasse kan er meerdere implementeren Java interfaces. Het is noodzakelijk dat de klasse alle methoden implementeert die in de interfaces zijn gedeclareerd.
  • Een klasse zou alle abs moeten overschrijven.tract-methoden die in de interface zijn gedeclareerd.
  • De interface maakt het mogelijk om een โ€‹โ€‹bericht naar een object te sturen, ongeacht tot welke klasse het object behoort.
  • Een 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 interfaceverwijzing kan verwijzen naar objecten van de implementerende klassen.
  • Een interface kan van รฉรฉn of meerdere interfaces overerven. Een klasse kan slechts van รฉรฉn klasse overerven, maar een willekeurig aantal interfaces implementeren.
  • Een interface kan geen andere interface implementeren. Indien nodig moet een interface een andere interface uitbreiden.
  • Een interface die binnen een andere interface is gedeclareerd, wordt een geneste interface genoemd.
  • Een interfacevariabele moet bij de declaratie worden geรฏnitialiseerd. Anders geeft de compiler een foutmelding.
  • Een klasse kan niet twee interfaces tegelijk implementeren. Java die methoden hebben met dezelfde naam, maar een ander retourtype.

Veelgestelde vragen

Ja. AI-assistenten kunnen interfaces en implementerende klassen maken op basis van een beschrijving in gewone taal, inclusief methodestubs. Ontwikkelaars moeten echter nog steeds de methodesignaturen, retourtypen en het gedrag controleren voordat ze de code gebruiken.

AI-tools analyseren interfaces om implementaties voor te stellen, ontbrekende methoden te detecteren en schonere oplossingen aan te bevelen.tractijdens het refactoren. Dit versnelt de ontwikkeling en zorgt ervoor dat de kwaliteit behouden blijft.ping De codebasis is losjes gekoppeld en daardoor gemakkelijker te onderhouden.

Ja. Sinds Java 8. Interfaces kunnen standaard- en statische methoden bevatten die implementaties hebben, naast abs.tract-methoden. Dit maakt het mogelijk dat interfaces evolueren zonder dat bestaande implementerende klassen worden verbroken.

Een markerinterface bevat geen methoden. Het geeft metadata door aan de JVM of compiler, zodat deze de implementerende klassen op een speciale manier behandelen. Voorbeelden hiervan zijn Serializable en Cloneable in de standaard. Java bibliotheek.

Vat dit bericht samen met: