Różnica między pakietem a interfejsem w Javie

The kluczowa różnica między pakietem a interfejsem w Javie jest to Pakiet pomaga metodycznie kategoryzować klasy, aby uzyskać do nich łatwy dostęp i konserwację, podczas gdy interfejs pomaga wdrażać wiele spadków i uzyskiwać abstrakcję.

Java jest jednym z najpopularniejszych języków programowania. Główną zaletą Java jest to, że obsługuje programowanie obiektowe. Ta metodologia pozwala modelować rzeczywiste obiekty w oprogramowaniu. Klasa to plan tworzenia obiektu. Każdy obiekt zawiera dane lub pola opisujące atrybuty lub właściwości i metody opisujące zachowania. W tym artykule omówiono dwie koncepcje związane z OOP w Javie w Javie, które dotyczą pakietu i interfejsu.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to jest pakiet w Javie
3. Co to jest interfejs w Javie
4. Porównanie obok siebie - Pakiet vs Interfejs w Javie w formie tabelarycznej
5. Podsumowanie

Co to jest pakiet w Javie?

Java zapewnia dużą liczbę klas. Przechowywanie wszystkich klas w jednym folderze może być trudne, ponieważ trudno jest uzyskać do nich dostęp. Może to wpłynąć na łatwość zarządzania programem. Java używa pakietów do aranżacji klas. Jest podobny do folderu. Java API grupuje klasy w różne pakiety zgodnie z funkcjonalnością. Dlatego każdy pakiet zawiera powiązany zestaw klas.

Przykład pakietów w Javie

Kilka przykładowych pakietów wygląda następująco. Pakiet java.io zawiera klasy obsługujące dane wejściowe i wyjściowe. Obejmuje File, PrintStream, BufferInputStream itp. Pakiet java.net zawiera klasy związane z siecią. Niektóre przykłady to URL, Socket, ServerSocket. Pakiet java.awt zawiera wszystkie klasy wymagane do budowy graficznych interfejsów użytkownika. To kilka pakietów Java API.

Gdy programista chce użyć określonej klasy w programie, powinien zaimportować ten pakiet. Jeśli programista chce użyć klasy BufferInputStream w pakiecie java.io, powinien napisać instrukcję importowania w następujący sposób.

import java.util.BufferInoutStream;

Poniższa instrukcja zaimportuje wszystkie klasy z pakietu util.

import java.util. *;

Możliwe jest również tworzenie pakietów zdefiniowanych przez użytkownika.

pracownik pakietu;

pracownik klasy publicznej

Zgodnie z powyższym przykładem pracownik to nazwa pakietu. Klasa pracownicza jest częścią pakietu pracowniczego. Ten plik zapisywany jest jako Employee.java w pakiecie pracowników.

Ponadto możliwe jest zaimportowanie klasy publicznej z jednego pakietu do drugiego. Zobacz następujący przykład.

Rysunek 01: Klasa A

Rysunek 02: Klasa B

Klasa A znajduje się w pakiecie 1 i zawiera metodę publiczną o nazwie display. Klasa B znajduje się w pakiecie 2 i zawiera główną metodę. Mimo że są w osobnych paczkach; klasa B może utworzyć obiekt klasy A, importując pakiet1. Po zaimportowaniu pakietu 1 klasa B ma dostęp do danych i metod klasy A..

Ogólnie rzecz biorąc, pakiet w Javie pomaga uporządkować pliki projektu. Jest to bardzo przydatne przy tworzeniu dużego systemu, ponieważ pozwala na metodyczne przechowywanie wszystkich plików. Oprócz tego pakiety Java API pozwalają programistom korzystać z już istniejących klas.

Co to jest interfejs w Javie?

Czasami programista może nie znać definicji metody. W takich sytuacjach programista może tylko zadeklarować metodę. Metoda abstrakcyjna to metoda, która nie ma definicji. Ma tylko deklarację. Gdy istnieje co najmniej jedna metoda abstrakcyjna, klasa ta staje się klasą abstrakcyjną. Ponadto klasa abstrakcyjna może zawierać metody abstrakcyjne, a także metody nieabstrakcyjne. Programista nie może tworzyć obiektów z klas abstrakcyjnych.

Kiedy klasa rozszerza klasę abstrakcyjną, nowa klasa powinna zdefiniować całą metodę abstrakcyjną w klasie abstrakcyjnej. Innymi słowy, załóżmy, że klasa abstrakcyjna A ma metodę abstrakcyjną o nazwie display. Klasa B rozszerza klasę A. Następnie klasa B powinna zdefiniować sposób wyświetlania.

Przykład interfejsu w Javie

Załóżmy, że zarówno A, jak i B są klasami abstrakcyjnymi. Jeśli klasa C rozszerza A i B, ta klasa C musi zdefiniować metody abstrakcyjne obu klas. To wielokrotne dziedziczenie. Java nie obsługuje wielokrotnego dziedziczenia. Aby to zaimplementować, programista powinien używać interfejsów. Jeśli A i B są interfejsami, to klasa C może je zaimplementować. Zobacz następujący przykład.

Rysunek 03: Interfejs A

Rysunek 04: Interfejs B

Interfejs A ma metodę abstrakcyjną display1, a interfejs B ma metodę abstrakcyjną display2.

Rysunek 05: Klasa C

Klasa C implementuje interfejsy A i B. Dlatego powinien zdefiniować obie metody.

Rysunek 06: Główna metoda

Teraz w głównej metodzie możliwe jest utworzenie obiektu C i wywołanie obu metod. Podobnie interfejsy pomagają w implementacji wielokrotnego dziedziczenia w Javie.

Interfejsy, oprócz wielokrotnego dziedziczenia, pomagają osiągnąć abstrakcję. Jest to jedna z głównych koncepcji OOP. Abstrakcja pozwala ukryć szczegóły implementacji i pokazać użytkownikowi tylko funkcjonalność. Ponadto pozwala skupić się na tym, co robi obiekt, a nie na tym, jak to się robi. Ponieważ interfejs składa się z metod abstrakcyjnych, pomaga zarchiwizować abstrakcję.

Jaka jest różnica między pakietem a interfejsem w Javie?

Pakiet to grupa powiązanych klas zapewniających ochronę dostępu i zarządzanie przestrzenią nazw. Interfejs to typ odwołania podobny do klasy, która jest zbiorem metod abstrakcyjnych. Pakiet pomaga metodycznie kategoryzować klasy, aby uzyskać do nich łatwy dostęp i utrzymanie. Z drugiej strony, Interfejs pomaga wdrożyć wiele spadków i osiągnąć abstrakcję. Jest to główna różnica między pakietem a interfejsem w Javie. Ponadto sposobem na napisanie pakietu są małe litery, takie jak java.util, java.awt. Jeśli nazwa interfejsu to Obszar, to jest on zapisany w polu Obszar interfejsu.

Podsumowanie - pakiet a interfejs w Javie

Różnica między pakietem a interfejsem w Javie polega na tym, że pakiet pomaga metodycznie kategoryzować klasy, aby uzyskać do nich łatwy dostęp i konserwację, podczas gdy interfejs pomaga w implementacji wielu spadków i uzyskiwaniu abstrakcji.

Odniesienie:

1.Poradnik punkt. „Pakiety Java”. Tutorials Point, 24 marca 2018. Dostępne tutaj 
2.Punkt przewodnika. „Interfejsy Java”. Tutorials Point, 24 marca 2018. Dostępne tutaj