Sučelje u Java s Primjerom
⚡ Pametni sažetak
Sučelje u Java je trbušnjaktract tip koji određuje ponašanje koje klasa mora implementirati, a sadrži konstante i abstract metode. Ovaj resurs objašnjava što je sučelje, zašto je potrebno, kako ga deklarirati i implementirati te kako se sučelja razlikuju od klasa i abs.tract klase.
Što je sučelje u Java?
An Sučelje u Java Programski jezik je definiran kao abstract tip koji se koristi za određivanje ponašanja klase. A Java sučelje sadrži statičke konstante i abstract metode. Klasa može implementirati više sučelja. U Java, sučelja se deklariraju pomoću ključne riječi interface. Sve metode u sučelju su implicitno javne i apsolutnotract.
Sintaksa za deklariranje sučelja
Da biste koristili sučelje u svojoj klasi, dodajte ključnu riječ „implements“ nakon naziva klase, a zatim naziv sučelja.
interface { // methods }
Primjer implementacije sučelja
Sada, shvatimo sučelja u Java s primjerom:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Kliknite ovdje ako video nije dostupan.
Kliknite ovdje ako video nije dostupan
Zašto je potrebno sučelje?
Razumjeti upotrebu sučelja u Java bolje, pogledajmo Java primjer sučelja. Klasa "Media Player" ima dvije podklase: CD player i DVD player. Svaka ima svoju jedinstvenu metodu implementacije sučelja za reprodukciju glazbe.
Druga klasa, "Combo drive", nasljeđuje i CD i DVD (vidi sliku ispod). Koju metodu reprodukcije treba naslijediti? To može uzrokovati ozbiljne probleme s dizajnom i stoga, Java ne dopušta višestruko baština.
Sada uzmimo još jedan primjer, psa.
Pretpostavimo da imate zahtjev gdje klasa "pas" nasljeđuje klase "životinja" i "Kućni ljubimac" (vidi sliku ispod). Ali ne možete proširiti dvije klase u JavaPa što biste učinili? Rješenje je sučelje.
Pravilnik za sučelje kaže:
- A Java sučelje je 100% apsolutnotract klasa i ima samo abstract metode.
- Klasa može implementirati bilo koji broj sučelja.
Klasa Pas može proširiti klasu „Životinja“ i implementirati sučelje „Kućni ljubimac“.
Java Primjer sučelja
Razumijemo donji program sučelja u Java:
Korak 1) Kopirajte sljedeći kod u 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(); } }
Korak 2) Spremi, kompajliraj i pokreni kod. Promatraj izlaz sučelja u Java program.
Razlika između klase i sučelja
| Klasa | Sučelje |
|---|---|
| U klasi možete instancirati varijable i stvoriti objekt. | U sučelju ne možete instancirati varijable ili stvoriti objekt. |
| Klasa može sadržavati konkretne (s implementacijom) metode. | Sučelje ne može sadržavati konkretne (s implementacijom) metode. |
| Specifikatori pristupa koji se koriste s klasama su privatni, zaštićeni i javni. | U sučelju se koristi samo jedan specifikator – public. |
Kada koristiti Interface i Abstract klasa?
- Koristite trbušne mišićetract klasa kada je potrebno definirati predložak za grupu podklasa.
- Koristite sučelje kada je potrebno definirati ulogu za druge klase, bez obzira na stablo nasljeđivanja tih klasa.
Mora znati činjenice o sučelju
- A Java klasa može implementirati više Java sučelja. Potrebno je da klasa implementira sve metode deklarirane u sučeljima.
- Klasa bi trebala nadjačati sve trbušne mišićetract metode deklarirane u sučelju.
- Sučelje omogućuje slanje poruke objektu bez obzira kojoj klasi pripada.
- Klasa mora osigurati funkcionalnost za metode deklarirane u sučelju.
- Sve metode u sučelju su implicitno javne i apsolutnotract.
- Sučelje se ne može instancirati.
- Referenca sučelja može pokazivati na objekte svojih implementacijskih klasa.
- Sučelje se može proširiti s jednog ili više sučelja. Klasa može proširiti samo jednu klasu, ali implementirati bilo koji broj sučelja.
- Sučelje ne može implementirati drugo sučelje. Mora proširiti drugo sučelje ako je potrebno.
- Sučelje koje je deklarirano unutar drugog sučelja naziva se ugniježđenim sučeljem.
- Prilikom deklaracije, varijabla sučelja mora biti inicijalizirana. U suprotnom, kompajler će izbaciti grešku.
- Klasa ne može implementirati dva sučelja u Java koje imaju metode s istim imenom, ali različitim tipom povrata.





