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.

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.
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ร .
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.
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โ.
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.




