Interfaccia in Java con l'esempio

Cos'è l'interfaccia? Java?

An Interfaccia in Java il linguaggio di programmazione è definito come un tipo astratto utilizzato per specificare il comportamento di una classe. UN Java l'interfaccia contiene costanti statiche e metodi astratti. Una classe può implementare più interfacce. In Java, le interfacce vengono dichiarate utilizzando la parola chiave Interface. Tutti i metodi nell'interfaccia sono implicitamente pubblici e astratti.

Sintassi per dichiarare l'interfaccia

Per utilizzare un'interfaccia nella tua classe, aggiungi la parola chiave "implements" dopo il nome della classe seguita dal nome dell'interfaccia.

interface {
//methods
}

Esempio di implementazione dell'interfaccia

Ora, comprendiamo l'interfaccia in Java con esempio:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Clicchi Qui. se il video non è accessibile

Perché è necessaria un'interfaccia?

Comprendere l'uso dell'interfaccia in Java meglio, vediamo un Java esempio di interfaccia. La classe “Media Player” ha due sottoclassi: lettore CD e lettore DVD. Ognuno ha la sua implementazione dell'interfaccia unica in Java metodo per riprodurre la musica.

Perché è necessaria un'interfaccia

Un'altra classe "unità combinata" eredita sia CD che DVD (vedi immagine sotto). Quale metodo di gioco dovrebbe ereditare? Ciò potrebbe causare seri problemi di progettazione. E quindi, Java non consente multipli eredità.

Perché è necessaria un'interfaccia

Ora prendiamo un altro esempio di Dog.

Supponiamo di avere un requisito in cui la classe "cane" eredita la classe "animale" e "Animale domestico" (vedi immagine sotto). Ma non puoi prolungare due lezioni Java. Allora cosa faresti? La soluzione è l'interfaccia.

Perché è necessaria un'interfaccia

Il regolamento per l'interfaccia dice:

  • A Java l'interfaccia di implementazione è una classe astratta al 100% e ha solo metodi astratti.
  • La classe può implementare un numero qualsiasi di interfacce.

La classe Cane può estendersi alla classe "Animale" e implementare l'interfaccia come "Animale domestico".

Perché è necessaria un'interfaccia

Java Esempio di interfaccia:

Comprendiamo il programma di interfaccia seguente in Java:

Passo 1) Copia il codice seguente in un 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();
  }
}

Passo 2) Salva, compila ed esegui il codice. Osservare l'output dell'interfaccia in Java Programma.

Differenza tra classe e interfaccia

Classe
Interfaccia
In classe, puoi creare un'istanza di variabile e creare un oggetto. In un'interfaccia, non è possibile istanziare una variabile e creare un oggetto.
La classe può contenere metodi concreti (con implementazione). L'interfaccia non può contenere metodi concreti (con implementazione).
Gli specificatori di accesso utilizzati con le classi sono private, protected e public. In Interface viene utilizzato solo uno specificatore: Public.

Quando utilizzare l'interfaccia e la classe astratta?

  • Utilizzare una classe astratta quando è necessario definire un modello per un gruppo di sottoclassi
  • Utilizzare un'interfaccia quando è necessario definire un ruolo per altre classi, indipendentemente dall'albero di ereditarietà di queste classi

È necessario conoscere alcuni fatti sull'interfaccia

  • A Java la classe può implementarne più Java Interfacce. E' necessario che la classe implementi tutti i metodi dichiarati nelle interfacce.
  • La classe dovrebbe sovrascrivere tutti i metodi astratti dichiarati nell'interfaccia
  • L'interfaccia permette di inviare un messaggio ad un oggetto indipendentemente dalla classe a cui appartiene.
  • La classe deve fornire funzionalità per i metodi dichiarati nell'interfaccia.
  • Tutti i metodi in un'interfaccia sono implicitamente pubblici e astratti
  • Non è possibile istanziare un'interfaccia
  • Un riferimento all'interfaccia può puntare a oggetti delle sue classi di implementazione
  • Un'interfaccia può estendersi da una o più interfacce. La classe può estendere solo una classe ma implementare un numero qualsiasi di interfacce
  • Un'interfaccia non può implementare un'altra interfaccia. Se necessario, deve estendere un'altra interfaccia.
  • Un'interfaccia dichiarata all'interno di un'altra interfaccia viene definita interfaccia nidificata
  • Al momento della dichiarazione, la variabile di interfaccia deve essere inizializzata. Altrimenti, il compilatore genererà un errore.
  • La classe non può implementare due interfacce in Java che abbiano metodi con lo stesso nome ma tipo di ritorno diverso.

Sommario:

  • La classe che implementa l'interfaccia deve fornire funzionalità per i metodi dichiarati nell'interfaccia
  • Tutti i metodi in un'interfaccia sono implicitamente pubblici e astratti
  • Non è possibile istanziare un'interfaccia
  • Un riferimento all'interfaccia può puntare a oggetti delle sue classi di implementazione
  • Un'interfaccia può estendersi da una o più interfacce. Una classe può estendere solo una classe ma implementare un numero qualsiasi di interfacce

Riassumi questo post con: