Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Interfaces Uitgelegd: Hoe Ze Te Definiëren en Implementeren met Praktische Voorbeelden

Wat Is Een Java Interface?

Java interface is een abstract type dat een contract definieert voor klassen. Het kan constanten en abstracte methodes declareren, maar kan geen state vasthouden. Alle methodes zijn impliciet public en abstract, en een klasse kan meerdere interfaces implementeren, wat de vereiste gedraging levert.

Een Interface Declareren

interface MijnInterface {
    // abstracte methodes
}

Een Interface Implementeren

class Hond implements Huisdier {
    // methodes van Huisdier implementeren
}

Interfaces Extenden

interface RijdendDier extends Dier, Voertuig {
    // extra abstracte methodes
}

Waarom Interfaces Nodig Zijn?

Interfaces laten je het wat scheiden van het hoe. Ze maken polymorfisme mogelijk, bevorder losse koppeling en lossen het "meervoudige overerving" probleem op dat Java niet voor klassen ondersteunt.

Bijvoorbeeld, een MediaSpeler kan afzonderlijke CDSpeler en DVDSpeler subklassen hebben, elk met zijn eigen speel() implementatie. Als een klasse beide capaciteiten nodig had, zou Java meervoudige overerving van klassen verbieden, maar een interface laat ons de gedragingen netjes combineren.

Java Interfaces Uitgelegd: Hoe Ze Te Definiëren en Implementeren met Praktische Voorbeelden

Java Interfaces Uitgelegd: Hoe Ze Te Definiëren en Implementeren met Praktische Voorbeelden

Op dezelfde manier kan een Hond klasse Dier extenden en een Huisdier interface implementeren om zowel overervings- als contractuele verplichtingen te voldoen.

Java Interfaces Uitgelegd: Hoe Ze Te Definiëren en Implementeren met Praktische Voorbeelden

Java Interface Voorbeeld

Stap 1: Schrijf de volgende code:

interface Huisdier {
    void test();
}
class Hond implements Huisdier {
    @Override
    public void test() {
        System.out.println("Interface methode geïmplementeerd");
    }
    public static void main(String[] args) {
        Huisdier p = new Hond();
        p.test();
    }
}

Stap 2: Compileer en voer het programma uit om de output te zien.

Klasse vs. Interface

KlasseInterface
Een klasse kan geïnstantieerd worden en mag state bevatten.Een interface kan niet geïnstantieerd worden en bevat alleen constanten en methodehandtekeningen.
Kan concrete (geïmplementeerde) methodes hebben.Voor Java 8, geen concrete methodes; vanaf Java 8 mogen default en static methodes.
Toegangsmodifiers kunnen private, protected of public zijn.Alle leden zijn impliciet public (en static final voor velden).

Wanneer Een Interface vs. Een Abstracte Klasse Gebruiken?

  • Abstracte Klasse: Gebruik wanneer je een gemeenschappelijke basisimplementatie of gedeelde state nodig hebt voor gerelateerde klassen.
  • Interface: Gebruik wanneer je een rol of capaciteit wilt definiëren die door ongerelateerde klassen aangenomen kan worden.

Belangrijke Feiten Over Interfaces

  • Een klasse kan meerdere interfaces implementeren, maar moet een implementatie bieden voor elke gedeclareerde methode.
  • Interfaces kunnen niet direct geïnstantieerd worden; ze dienen als contracten.
  • Interfacereferenties kunnen wijzen naar elke implementerende klasse.
  • Een interface mag een of meer andere interfaces extenden.
  • Geneste interfaces zijn toegestaan binnen andere interfaces of klassen.
  • Twee interfaces mogen geen methodes declareren met dezelfde naam maar andere return types als een klasse beide implementeert.
  • Vanaf Java 8 kunnen interfaces default en static methodes bevatten.

Samenvatting

  • Interfaces definiëren een contract; klassen leveren de implementatie.
  • Alle interfacemethodes zijn impliciet public en abstract (tenzij default of static).
  • Interfaces kunnen niet geïnstantieerd worden maar kunnen gerefereerd worden door variabelen.
  • Gebruik interfaces om polymorfisme te bereiken en Java's single inheritance beperking te omzeilen.

Java

  1. C# Abstracte Classes: Een Praktische Tutorial met Codevoorbeelden
  2. C# Interfaces Begrijpen: Definitie, Voorbeeld en Praktisch Gebruik
  3. Java interfaces meesteren: concepten, implementatie en best practices
  4. Java Hello World: Stap-voor-stap gids om je eerste Java-programma te schrijven
  5. Java String length() Methode: Hoe de grootte van een String op te vragen (Voorbeeld)
  6. Java String.charAt() begrijpen: Syntaxis, Retourtype, Exceptions en Praktisch Voorbeeld
  7. Java String.endsWith() beheersen: Controleren op String-suffixen met voorbeelden
  8. Interface vs Abstracte Klasse in Java: De Juiste Abstractie Kiezen
  9. Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden
  10. Insertion Sort algoritme in Java: Duidelijk voorbeeld & stapsgewijze handleiding
  11. Java Interfaces begrijpen: Definities, Gebruik en Best Practices