Interfaccia in Java con l'esempio

โšก Riepilogo intelligente

Interfaccia in Java รจ un assetractipo t che specifica il comportamento che una classe deve implementare, contenente costanti e valori assolutitracmetodi t. Questa risorsa spiega cos'รจ un'interfaccia, perchรฉ รจ necessaria, come dichiararne e implementarne una e in che modo le interfacce differiscono dalle classi e dagli assoluti.tracclassi t.

  • ๐Ÿ“œ Definizione: Un'interfaccia specifica il comportamento utilizzando valori assolutitracmetodi e costanti che le classi di implementazione devono fornire.
  • ๐Ÿ”‘ Parola chiave: Le interfacce vengono dichiarate con la parola chiave `interface` e le classi utilizzano le implementazioni per adottarle.
  • ๐Ÿงฉ Ereditร  multipla: Una classe puรฒ implementare molte interfacce, risolvendo Javamancanza di ereditarietร  multipla tra classi.
  • ๏ธ Classe vs Interfaccia: A differenza delle classi, le interfacce non possono essere istanziate e tradizionalmente contengono solo abs. pubblicitracmetodi t.
  • ๐ŸŽฏ Quando usare: Utilizzare un'interfaccia per definire un ruolo per classi non correlate e un assolutotracClasse t per un modello condiviso.

Interfaccia in Java

Cos'รจ l'interfaccia? Java?

An Interfaccia in Java Il linguaggio di programmazione รจ definito come un assolutotracTipo t utilizzato per specificare il comportamento di una classe. Java l'interfaccia contiene costanti statiche e valori assolutitracmetodi t. Una classe puรฒ implementare piรน interfacce. In JavaLe interfacce vengono dichiarate utilizzando la parola chiave interface. Tutti i metodi nell'interfaccia sono implicitamente pubblici e assoluti.tract.

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, cerchiamo di capire le interfacce in Java con un esempio:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Clicchi Qui. se il video non รจ accessibile.

Clicchi Qui. se il video non รจ accessibile

Perchรฉ รจ necessaria un'interfaccia?

Per comprendere l'uso di un'interfaccia in Java meglio, diamo un'occhiata a Java Esempio di interfaccia. La classe "Media Player" ha due sottoclassi: lettore CD e lettore DVD. Ognuna ha il proprio metodo di implementazione dell'interfaccia per riprodurre musica.

Perchรฉ รจ necessaria un'interfaccia

Un'altra classe, "Combo drive", eredita sia CD che DVD (vedi immagine sotto). Quale metodo di riproduzione dovrebbe ereditare? Ciรฒ potrebbe causare seri problemi di progettazione e quindi, Java non consente multipli ereditร .

Perchรฉ รจ necessaria un'interfaccia

Prendiamo ora un altro esempio, quello di un cane.

Supponiamo di avere un requisito in cui la classe "cane" eredita le classi "animale" e "animale domestico" (vedi immagine sotto). Ma non puoi estendere due classi in JavaQuindi cosa faresti? La soluzione รจ un'interfaccia.

Perchรฉ รจ necessaria un'interfaccia

Il regolamento per un'interfaccia recita:

  • A Java l'interfaccia รจ un 100% assolutotracclasse t e ha solo abstracmetodi t.
  • Una classe puรฒ implementare un numero qualsiasi di interfacce.

La classe Dog puรฒ estendere la classe โ€œAnimalโ€ e implementare lโ€™interfaccia โ€œPetโ€.

Perchรฉ รจ necessaria un'interfaccia

Java Esempio di interfaccia

Cerchiamo di comprendere il programma di interfaccia seguente in Java:

Passo 1) Copiare 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. Osserva l'output dell'interfaccia nell' Java Programma.

Differenza tra classe e interfaccia

Classe Interfaccia
In una classe, รจ possibile creare istanze di variabili e creare un oggetto. In un'interfaccia non รจ possibile istanziare variabili o creare oggetti.
Una classe puรฒ contenere metodi concreti (con implementazione). Un'interfaccia non puรฒ contenere metodi concreti (con implementazione).
Gli specificatori di accesso utilizzati con le classi sono private, protected e public. In un'interfaccia, viene utilizzato un solo specificatore: public.

Quando utilizzare Interface e AbstracClasse t?

  • Utilizzare un addominaletracClasse t quando รจ necessario definire un modello per un gruppo di sottoclassi.
  • Utilizza un'interfaccia quando รจ necessario definire un ruolo per altre classi, indipendentemente dalla gerarchia di ereditarietร  di queste classi.

รˆ necessario conoscere alcuni fatti sull'interfaccia

  • A Java la classe puรฒ implementarne piรน Java interfacce. รˆ necessario che la classe implementi tutti i metodi dichiarati nelle interfacce.
  • Una classe dovrebbe sovrascrivere tutti gli abtracmetodi dichiarati nell'interfaccia.
  • L'interfaccia consente di inviare un messaggio a un oggetto indipendentemente dalla classe a cui appartiene.
  • Una classe deve fornire la funzionalitร  per i metodi dichiarati nell'interfaccia.
  • Tutti i metodi in un'interfaccia sono implicitamente pubblici e assolutitract.
  • Non รจ possibile creare un'istanza di un'interfaccia.
  • Un riferimento a un'interfaccia puรฒ puntare a oggetti delle classi che la implementano.
  • Un'interfaccia puรฒ estendere una o piรน interfacce. Una classe puรฒ estendere una sola 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 annidata.
  • Al momento della dichiarazione, una variabile di interfaccia deve essere inizializzata. In caso contrario, il compilatore genererร  un errore.
  • Una classe non puรฒ implementare due interfacce in Java che hanno metodi con lo stesso nome ma un tipo di ritorno diverso.

DOMANDE FREQUENTI

Sรฌ. Gli assistenti IA possono creare interfacce e classi di implementazione a partire da una descrizione in linguaggio naturale, inclusi gli stub dei metodi. Gli sviluppatori dovrebbero comunque verificare le firme dei metodi, i tipi di ritorno e il comportamento prima di utilizzare il codice.

Gli strumenti di intelligenza artificiale analizzano le interfacce per suggerire implementazioni, rilevare metodi mancanti e raccomandare soluzioni piรน pulite.traczioni durante il refactoring. Ciรฒ accelera lo sviluppo mantenendoping il codice sorgente รจ debolmente accoppiato e piรน facile da manutenere.

Sรฌ. Da Java 8, le interfacce possono includere metodi predefiniti e statici che hanno implementazioni, oltre ad assolutitracmetodi t. Ciรฒ consente alle interfacce di evolversi senza compromettere le classi di implementazione esistenti.

Un'interfaccia marker non contiene metodi. Segnala metadati alla JVM o al compilatore affinchรฉ trattino le classi che la implementano in modo speciale. Esempi includono Serializable e Cloneable nello standard Java biblioteca.

Riassumi questo post con: