Parola chiave dell'interfaccia Java

❮ Parole chiave Java


Esempio

An interfaceè una "classe" astratta utilizzata per raggruppare metodi correlati con corpi "vuoti":

Per accedere ai metodi dell'interfaccia, l'interfaccia deve essere "implementata" (un po' come ereditata) da un'altra classe con la implements parola chiave (invece di extends). Il corpo del metodo di interfaccia è fornito dalla classe "implement":

// interface
interface Animal {
  public void animalSound(); // interface method (does not have a body)
  public void sleep(); // interface method (does not have a body)
}

// Pig "implements" the Animal interface
class Pig implements Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
  public void sleep() {
    // The body of sleep() is provided here
    System.out.println("Zzz");
  }
}

class MyMainClass {
  public static void main(String[] args) {
    Pig myPig = new Pig();  // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}


Definizione e utilizzo

La interfaceparola chiave viene utilizzata per dichiarare un tipo speciale di classe che contiene solo metodi astratti.

Per accedere ai metodi dell'interfaccia, l'interfaccia deve essere "implementata" (un po' come ereditata) da un'altra classe con la implements parola chiave (invece di extends). Il corpo del metodo di interfaccia è fornito dalla classe "implement".

Note sulle interfacce:

  • Non può essere utilizzato per creare oggetti (nell'esempio sopra, non è possibile creare un oggetto "Animal" nella MyMainClass)
  • I metodi di interfaccia non hanno un corpo: il corpo è fornito dalla classe "implement".
  • Al momento dell'implementazione di un'interfaccia, è necessario ignorare tutti i suoi metodi
  • I metodi di interfaccia sono di default abstracte public
  • Gli attributi dell'interfaccia sono per impostazione publicpredefinita staticefinal
  • Un'interfaccia non può contenere un costruttore (poiché non può essere utilizzata per creare oggetti)

Perché e quando utilizzare le interfacce?

Per ottenere la sicurezza - nascondi determinati dettagli e mostra solo i dettagli importanti di un oggetto (interfaccia).

Java non supporta "ereditarietà multipla" (una classe può ereditare solo da una superclasse). Tuttavia, può essere ottenuto con le interfacce, perché la classe può implementare più interfacce. Nota: per implementare più interfacce, separarle con una virgola (vedi esempio sotto).


Interfacce multiple

Per implementare più interfacce, separale con una virgola:

Esempio

interface FirstInterface {
  public void myMethod(); // interface method
}

interface SecondInterface {
  public void myOtherMethod(); // interface method
}

// DemoClass "implements" FirstInterface and SecondInterface
class DemoClass implements FirstInterface, SecondInterface {
  public void myMethod() {
    System.out.println("Some text..");
  }
  public void myOtherMethod() {
    System.out.println("Some other text...");
  }
}

class MyMainClass {
  public static void main(String[] args) {
    DemoClass myObj = new DemoClass();
    myObj.myMethod();
    myObj.myOtherMethod();
  }
}


Pagine correlate

Per saperne di più sulle interfacce, consulta il nostro tutorial sull'interfaccia Java .


❮ Parole chiave Java