Interface-in Java met Voorbeeld

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 uw klas te gebruiken, voegt u het trefwoord โ€œimplementsโ€ toe na uw klasnaam, gevolgd door de interfacenaam.

interface {
//methods
}

Voorbeeld voor het implementeren van een interface

Laten we nu de interface begrijpen Java met 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 te begrijpen Java beter, laat eens zien Java interface voorbeeld. De klasse โ€œMedia Playerโ€ kent twee subklassen: CD-speler en DVD-speler. Elk heeft zijn unieke interface-implementatie in Java methode om muziek af te spelen.

Waarom is een interface vereist?

Een andere klasse โ€œCombo driveโ€ erft zowel CD als DVD (zie onderstaande afbeelding). Welke speelmethode moet het erven? Dit kan ernstige ontwerpproblemen veroorzaken. En vandaar, Java laat meerdere niet toe erfenis.

Waarom is een interface vereist?

Laten we nu nog een voorbeeld van Dog nemen.

Stel dat u een vereiste heeft waarbij klasse โ€œhondโ€ de klasse โ€œdierโ€ en โ€œHuisdierโ€ erft (zie onderstaande afbeelding). Maar je kunt niet twee klassen verlengen Java. Dus wat zou je doen? De oplossing is Interface.

Waarom is een interface vereist?

Het regelboek voor de interface zegt:

  • A Java Implementeer de interface voor 100% absoluut.tract-klasse en heeft alleen abstract-methoden.
  • Class kan een willekeurig aantal interfaces implementeren.

Klasse Hond kan zich uitbreiden naar de klasse โ€œDierโ€ en de interface implementeren als โ€œHuisdierโ€.

Waarom is een interface vereist?

Java Interfacevoorbeeld:

Laten we het onderstaande interfaceprogramma begrijpen 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) Bewaar, compileer en voer de code uit. Observeer de uitvoer van de interface in Java programma.

Verschil tussen klasse en interface

Klasse
Interface
In de klas kunt u een variabele instantiรซren en een object maken. In een interface kunt u geen variabele instantiรซren en een object maken.
Klasse kan concrete (met implementatie) methoden bevatten De interface kan geen concrete (met implementatie) methoden bevatten
De toegangsspecificaties die bij klassen worden gebruikt, zijn privรฉ, beschermd en openbaar. In Interface wordt slechts รฉรฉn specificatie gebruikt: Openbaar.

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 er een rol gedefinieerd moet worden voor andere klassen, ongeacht de overervingsboom 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.
  • De klasse moet alle abs overschrijven.tract-methoden die in de interface zijn gedeclareerd
  • De interface maakt het mogelijk een bericht naar een object te sturen, zonder zich af te vragen 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 de implementerende klassen ervan
  • Een interface kan zich uitstrekken over รฉรฉn of meerdere interfaces. 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 wordt gedeclareerd, wordt een geneste interface genoemd
  • Op het moment van declaratie moet de interfacevariabele worden geรฏnitialiseerd. Anders zal de compiler een fout genereren.
  • De klasse kan geen twee interfaces in Java implementeren die methoden hebben met dezelfde naam maar met een ander retourtype.

Overzicht:

  • 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 de implementerende klassen ervan
  • Een interface kan zich uitstrekken over รฉรฉn of meerdere interfaces. Een klasse kan slechts รฉรฉn klasse uitbreiden, maar een willekeurig aantal interfaces implementeren

Vat dit bericht samen met: