Interfață în Java cu Exemplu

În ce este interfața Java?

An Interfață în Java limbajul de programare este definit ca un tip abstract folosit pentru a specifica comportamentul unei clase. O Java interfața conține constante statice și metode abstracte. O clasă poate implementa mai multe interfețe. În Java, interfețele sunt declarate folosind cuvântul cheie interfață. Toate metodele din interfață sunt implicit publice și abstracte.

Sintaxă pentru declararea interfeței

Pentru a utiliza o interfață în clasa dvs., adăugați cuvântul cheie „implemente” după numele clasei urmat de numele interfeței.

interface {
//methods
}

Exemplu de implementare a interfeței

Acum, să înțelegem interfața în Java cu exemplu:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Clic aici dacă videoclipul nu este accesibil

De ce este necesară o interfață?

Pentru a înțelege utilizarea interfeței în Java mai bine, să vedem an Java exemplu de interfață. Clasa „Media Player” are două subclase: CD player și DVD player. Fiecare având implementarea sa unică a interfeței în Java metoda de a reda muzica.

De ce este necesară o interfață

O altă clasă „Unitate Combo” moștenește atât CD-ul, cât și DVD-ul (vezi imaginea de mai jos). Ce metodă de joc ar trebui să moștenească? Acest lucru poate cauza probleme grave de proiectare. Și, prin urmare, Java nu permite multiple moștenire.

De ce este necesară o interfață

Acum să luăm un alt exemplu de Câine.

Să presupunem că aveți o cerință în care clasa „câine” moștenește clasa „animal” și „animal de companie” (vezi imaginea de mai jos). Dar nu poți extinde două clase Java. Deci ce ai face? Soluția este interfața.

De ce este necesară o interfață

Regulamentul pentru interfață spune:

  • A Java interfața de implementare este 100% clasă abstractă și are numai metode abstracte.
  • Class poate implementa orice număr de interfețe.

Class Dog se poate extinde la clasa „Animal” și poate implementa interfața ca „Pet”.

De ce este necesară o interfață

Java Exemplu de interfață:

Să înțelegem programul de interfață de mai jos în Java:

Pas 1) Copiați următorul cod într-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();
  }
}

Pas 2) Salvați, compilați și rulați codul. Observați ieșirea interfeței în Java program.

Diferența dintre clasă și interfață

Clasă
interfaţă
În clasă, puteți instanția variabile și puteți crea un obiect. Într-o interfață, nu puteți instanția variabile și crea un obiect.
Clasa poate conține metode concrete (cu implementare). Interfața nu poate conține metode concrete (cu implementare).
Specificatorii de acces utilizați cu clasele sunt privați, protejați și publici. În Interfață este folosit un singur specificator - Public.

Când să folosiți interfața și clasa abstractă?

  • Utilizați o clasă abstractă atunci când trebuie definit un șablon pentru un grup de subclase
  • Utilizați o interfață atunci când un rol trebuie definit pentru alte clase, indiferent de arborele de moștenire al acestor clase

Trebuie să cunoașteți fapte despre Interfață

  • A Java clasa poate implementa mai multe Java Interfețe. Este necesar ca clasa să implementeze toate metodele declarate în interfețe.
  • Clasa ar trebui să suprascrie toate metodele abstracte declarate în interfață
  • Interfața permite trimiterea unui mesaj către un obiect fără a ne referi la clasele din care aparține.
  • Clasa trebuie să ofere funcționalitate pentru metodele declarate în interfață.
  • Toate metodele dintr-o interfață sunt implicit publice și abstracte
  • O interfață nu poate fi instanțiată
  • O referință de interfață poate indica obiecte din clasele sale de implementare
  • O interfață se poate extinde de la una sau mai multe interfețe. Clasa poate extinde o singură clasă, dar poate implementa orice număr de interfețe
  • O interfață nu poate implementa o altă interfață. Dacă este necesar, trebuie să extindă o altă interfață.
  • O interfață care este declarată în interiorul unei alte interfețe este denumită interfață imbricată
  • În momentul declarării, variabila de interfață trebuie inițializată. În caz contrar, compilatorul va arunca o eroare.
  • Clasa nu poate implementa două interfețe în java care au metode cu același nume, dar tip de returnare diferit.

Rezumat:

  • Clasa care implementează interfața trebuie să ofere funcționalitate pentru metodele declarate în interfață
  • Toate metodele dintr-o interfață sunt implicit publice și abstracte
  • O interfață nu poate fi instanțiată
  • O referință de interfață poate indica obiecte din clasele sale de implementare
  • O interfață se poate extinde de la una sau mai multe interfețe. O clasă poate extinde o singură clasă, dar poate implementa orice număr de interfețe