Diagramă de comparație
Bazele comparației | pachete | interfeţe |
---|---|---|
De bază | Pachetele reprezintă un grup de clase și / sau interfețe împreună. | Interfețele reprezintă un grup de metode abstracte și domenii constante. |
cuvinte cheie | Pachetele sunt create folosind cuvântul cheie "Pachet". | Interfața este creată utilizând cuvântul cheie "Interfață". |
Sintaxă | pachet package_name; clasa publică class_name { . (corp de clasă) . } | interfață interface_name { declarația variabilă; declarație de metodă; } |
Acces | Un pachet poate fi importat | O interfață poate fi extinsă de o altă interfață și implementată de clasă. |
Accesați cuvântul cheie | Pachetele pot fi importate utilizând cuvântul cheie "import". | Interfețele pot fi implementate utilizând cuvântul cheie "implement". |
Definiția pachetelor
Pachetele sunt colecții sau grupuri de varietate de clase și interfețe. Clasele în pachete sunt legate între ele într-un anumit domeniu sau prin moștenire. De asemenea, puteți să vă creați pachetul și să îl utilizați pentru programul dvs.
Crearea unui pachet
Pentru a crea un pachet, urmați pașii următori.
- Deschideți un fișier și apoi declarați numele pachetului din partea de sus a fișierului, cum ar fi [package name_name; ] numele pachetului este numele pe care doriți să-l dați pachetului.
- Apoi, definiți o clasă pe care doriți să o puneți în pachet și amintiți-vă că o declarați publică.
- Salvați fișierul ca fișier .java și apoi compilați fișierul, apoi obțineți ".class" pentru acel fișier.
- Pentru a crea un pachet pentru acest fișier, comanda utilizată este "javac -d. file_name.java. Puteți vedea că pachetul este creat care conține un fișier ".class" în directorul curent. Pentru ao plasa în directorul părinte, utilizați "javac -d. . file_name.java ".
- De asemenea, puteți crea un subpachet prin declararea numelui subpachetului ca [package_name1. package_name2; ] în partea de sus a fișierului.
pachet Mypackage; public class myclass {public void displayMypackage () {system.out.println ("afișarea metodei pachetului myclass din pachetul Mypackage"); }
Utilizarea pachetului
Pachetele create sau disponibile în director pot fi utilizate în program utilizând o declarație de import. Cuvântul cheie folosit pentru a importa orice pachet din programul dvs. este "import". Instrucțiunea de import poate fi scrisă în două moduri sau puteți spune că există două modalități de a accesa orice pachet. În primul rând, dacă doriți să utilizați o anumită clasă dintr-un pachet, cuvântul cheie "import" este urmat de numele pachetului urmat de operatorul punct și de numele clasei pe care doriți să îl utilizați din pachet. În al doilea rând, dacă doriți să folosiți mai multe clase care sunt conținute în pachete, atunci cuvântul cheie de import este urmat de numele pachetului, urmat de punct și de operatorul "*".
import nume_pachet. numele clasei; sau import nume_pachet. *;
În codul de mai sus, puteți vedea semnul * care indică faptul că a doua metodă importează toate clasele conținute în pachete.
Acum, să vedem utilizarea pachetului cu un exemplu.
import Mypackage. myclass {clasă TestMypackage {public static void principal (șir args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // metoda de ieșire displayMypackage din clasa myclass din pachetul Mypackage.
În codul de mai sus, clasa TestMypackage a importat pachetul Mypackage și a folosit metoda displayMypackage ().
Definiția interfață
Interfața este un fel de clasă, dar diferă într-un sens că metodele declarate în interfață sunt abstracte, ceea ce înseamnă că metodele sunt doar declarate, dar nu sunt definite. Câmpurile din interfață sunt întotdeauna publice, statice, finale. Câmpurile trebuie inițializate la momentul declarației. Metodele declarate de interfață sunt definite de clasa care implementează interfața respectivă în funcție de cerințele acesteia. Deoarece metodele din interfață nu efectuează nicio funcție, astfel încât nu se poate crea niciun obiect al interfeței. Prin urmare, nu poate fi creat niciun obiect pentru interfață.
Interfața poate moșteni și cealaltă interfață, dar clasa care moșteneste o astfel de interfață trebuie să implementeze, de asemenea, toate metodele interfeței moștenite. Deoarece câmpurile sunt inițializate la momentul declarării lor în interfață, deci nu este nevoie de constructor în interfață, prin urmare, interfața nu conține nici un constructor. Să vedem exemplul creării și utilizării unei interfețe.
aria de interfață {float pi = 3.14; flotare find_area (float a, float b) {} clasa Cercuri implementeaza Zona {float find_area (float a, float b) {retur (pi * a * a); } Formă de clase {public static void principal (string args []) {Zona A = zonă nouă (); Cerc C = cerc nou (); A = C; float F = zonă. find_area (10, 10); system.out.println ("Zona cercului este:" + F); }
În codul de mai sus, am creat o zonă de interfață, iar clasa Circle a implementat zona de interfață. Câmpul "pi" a fost inițializat în interfață în momentul declarației sale. Cercul de clasă a definit metoda abstractă a zonei de clasă în funcție de cerința acesteia.
Diferențe cheie între pachete și interfețe în Java
- Un pachet este un grup de clase și interfețe împreună, în timp ce o interfață este un grup de metode abstracte.
- Pachetul este creat utilizând un pachet de cuvinte cheie , în timp ce o interfață este creată utilizând o interfață de cuvinte cheie.
- Dacă se utilizează o clasă sau o interfață în interiorul unui pachet, pachetul va fi importat în timp ce o interfață trebuie implementată.
Concluzie:
Ambele pachete și interfața sunt containerele. Pachetul reduce dimensiunea codului deoarece doar importăm clasa care urmează să fie utilizată în loc să o definim din nou. Întrucât interfața reduce confuziile apărute în timp ce moșteniri multiple, deoarece în cazul moștenirilor multiple, clasa moștenitoare nu trebuie să decidă că definiția metodei pe care ar trebui să o moștenească în schimb definește propria ei moștenire.