Tablica usporedbe
Osnova za usporedbu | paketi | sučelja |
---|---|---|
Osnovni, temeljni | Paketi su skupina klasa i / ili sučelja zajedno. | Sučelja su skupina apstraktnih metoda i konstantnih polja. |
Riječ | Paketi se izrađuju pomoću ključne riječi "Paket". | Sučelje se stvara pomoću ključne riječi "Interface". |
Sintaksa | paket package_name; public class class_name { , (tijelo klase) , } | sučelje interface_name { izjava varijable; izjava o metodi; } |
Pristup | Paket se može uvesti | Sučelje se može proširiti drugim sučeljem i implementirati u klasu. |
Pristupite ključnoj riječi | Pakete se može uvesti pomoću ključne riječi "import". | Sučelja se mogu implementirati pomoću ključne riječi "implement". |
Definicija paketa
Paketi su zbirka ili skupine različitih klasa i sučelja. Klase u paketima međusobno su povezane u nekom opsegu ili nasljeđivanjem. Također možete stvoriti svoj paket i koristiti ga za svoj program.
Stvaranje paketa
Za kreiranje paketa slijedite sljedeće korake.
- Otvorite datoteku i potom deklarirajte ime paketa na vrhu datoteke, kao što je [package package_name; ] ime paketa je ime koje želite dati paketu.
- Zatim definirate klasu koju želite staviti u paket i zapamtite da je objavljujete javno.
- Spremite datoteku kao .java datoteku, a zatim kompajlirajte datoteku, zatim se za tu datoteku dobiva ”.class”.
- Za izradu paketa za ovu datoteku koristi se naredba “javac -d. file_name.java. Možete vidjeti da je paket stvoren koji sadrži datoteku ".class" u trenutnom direktoriju. Da biste ga smjestili u roditeljski direktorij, koristite “javac -d., naredba file_name.java.
- Također možete kreirati pod-paket deklariranjem imena paketa kao [package package_name1. package_name2; ] na vrhu datoteke.
paket Mypackage; public class myclass {javni void displayMypackage () {system.out.println ("prikaz metodeMypackage klase myclass paketa Mypackage"); }
Korištenje paketa
Paketi stvoreni ili dostupni u direktoriju mogu se koristiti u programu pomoću izraza import. Ključna riječ koja se koristi za uvoz bilo kojeg paketa u vaš program je "import". Izvoz uvoza može se napisati na dva načina, ili možete reći da postoje dva načina pristupa bilo kojem paketu. Prvo, ako želite koristiti određenu klasu iz paketa, ključna riječ "import" slijedi ime paketa koje zatim slijedi operator dot i naziv klase koji želite koristiti iz paketa. Drugo, ako želite koristiti mnoge klase koje su sadržane u paketima, ključna riječ uvoza slijedi ime paketa koje zatim slijedi točka i operator "*".
import package_name. CLASS_NAME; ili uvesti ime_paketa. *;
U gornjem kodu možete vidjeti znak * koji označava da druga metoda uvozi sve klase sadržane u paketima.
Pogledajmo sada uporabu paketa s primjerom.
uvoz Mypackage. myclass {klasa TestMypackage {public static void main (string args []) {myclass ob1 = nova myclass (); ob1.displayMypackage (); }} // prikaz izlazne metodeMypackage klase myclass paketa Mypackage.
U gornjem kodu, klasa TestMypackage je uvezla paket Mypackage i koristila njegovu metodu displayMypackage ().
Definicija sučelja
Sučelje je vrsta klase, ali se razlikuje u smislu da su metode deklarirane u sučelju apstraktne, što znači da su metode samo deklarirane, ali nisu definirane. Polja u sučelju su uvijek javna, statična, konačna. Polja moraju biti inicijalizirana u vrijeme deklaracije. Metode koje deklarira sučelje definira klasa koja implementira to sučelje u skladu sa svojim zahtjevima. Kao što metode u sučelju ne obavljaju nikakve funkcije, tako da nema koristi od stvaranja bilo kojeg objekta sučelja. Dakle, ne može se stvoriti objekt za sučelje.
Sučelje također može naslijediti drugo sučelje, ali klasa koja nasljeđuje takvo sučelje mora također implementirati sve metode naslijeđenog sučelja. Kako su polja inicijalizirana u vrijeme njihove deklaracije u sučelju, tako da nema potrebe za konstruktorom u sučelju, sučelje ne sadrži nikakav konstruktor. Pogledajmo primjer stvaranja i korištenja sučelja.
Područje sučelja {float pi = 3, 14; float find_area (float a, float b) {} klasa Krug implementira područje {float find_area (float a, float b) {return (pi * a * a); } Oblici klasa {javni statički prazni glavni (string args []) {Područje A = novo područje (); Krug C = novi krug (); A = C; float F = Površina. find_area (10, 10); system.out.println ("Površina kruga je:" + F); }
U gore navedenom kodu stvorili smo područje sučelja, a klasa Circle implementirala je područje sučelja. Polje “pi” je inicijalizirano u sučelju u vrijeme njegove deklaracije. Klasa klase definirala je apstraktnu metodu područja klase u skladu sa svojim zahtjevima.
Ključne razlike između paketa i sučelja u Javi
- Paket je skupina klasa i sučelja zajedno, dok je sučelje skup apstraktnih metoda.
- Paket se kreira pomoću paketa ključnih riječi, dok se sučelje kreira pomoću sučelja ključnih riječi.
- Ako se koristi klasa ili sučelje unutar paketa, paket se uvozi dok se mora implementirati sučelje.
Zaključak:
Oba paketa i sučelje su spremnici. Paket smanjuje veličinu koda jer samo uvozimo klasu koju ćemo koristiti umjesto da je ponovno definiramo. Dok sučelje smanjuje zbunjenost tijekom višestrukog nasljeđivanja, jer u slučaju višestrukog nasljeđivanja klasa nasljeđivanja ne mora odlučiti da definicija metode koju će naslijediti umjesto toga definira svoje.