Skillnad mellan paket och gränssnitt i Java

De nyckelskillnad mellan paket och gränssnitt i Java är det Paketet hjälper till att kategorisera klasserna metodiskt för att komma åt och underhålla dem enkelt medan Interface hjälper till att implementera flera arv och att uppnå abstraktion.

Java är ett av de mest populära programmeringsspråken. Den främsta fördelen med Java är att den stöder objektorienterad programmering. Denna metod möjliggör modellering av verkliga objekt i programvara. En klass är en ritning för att skapa ett objekt. Varje objekt innehåller data eller fält för att beskriva attributen eller egenskaperna och metoderna för att beskriva beteenden. I den här artikeln diskuteras två begrepp relaterade till OOP i Java i Java som är paket och gränssnitt.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är paketet i Java
3. Vad är gränssnittet i Java
4. Side vid sida-jämförelse - Paket vs gränssnitt i Java i tabellform
5. Sammanfattning

Vad är paketet i Java?

Java ger ett stort antal klasser. Att hålla alla klasser i en enda mapp kan vara svårt eftersom det är svårt att komma åt. Detta kan påverka programhanterbarheten. Java använder paket för att ordna klasser. Det liknar en mapp. Java API grupperar klasser i olika paket enligt funktionaliteten. Därför innehåller varje paket en relaterad uppsättning klasser.

Exempel på paket i Java

Få exempelpaket är som följer. Paketet java.io innehåller inmatning, utmatningsunderstödda klasser. Den innehåller File, PrintStream, BufferInputStream etc. Paketet java.net innehåller nätverksrelaterade klasser. Några exempel är URL, Socket, ServerSocket. Paketet java.awt innehåller alla klasser som krävs för att bygga grafiska användargränssnitt. Det finns få Java API-paket.

När programmeraren vill använda en viss klass i programmet borde han importera det paketet. Om programmeraren vill använda klassen BufferInputStream i java.io-paketet, ska han skriva importdeklarationen enligt följande.

importera java.util.BufferInoutStream;

Nedan kommer uttalandet att importera alla klasser i util-paketet.

importera java.util. *;

Det är också möjligt att skapa användardefinierade paket.

paketmedarbetare;

offentlig klass Anställd

Enligt ovanstående exempel är medarbetaren paketets namn. Medarbetarklassen är en del av medarbetarpaketet. Den här filen sparar som Employee.java till medarbetarpaketet.

Dessutom är det möjligt att importera en offentlig klass från ett paket till ett annat. Se följande exempel.

Figur 01: Klass A

Figur 02: Klass B

Klass A finns i paket 1, och den innehåller den offentliga metoden som kallas display. Klass B finns i förpackning 2 och innehåller huvudmetoden. Även om de är i separata paket; klass B kan skapa ett objekt av klass A genom att importera paket1. Efter att ha importerat paket 1 har klass B tillgång till data och metoder för klass A.

Sammantaget hjälper paketet i Java att organisera projektfilerna. Det här är väldigt användbart när du utvecklar ett stort system eftersom det gör det möjligt att lagra alla filer på metodiskt sätt. Utöver det tillåter Java API-programmen att programmerarna använder redan befintliga klasser.

Vad är gränssnittet i Java?

Ibland kanske programmeraren inte känner till definitionen av metoden. I dessa situationer kan programmeraren bara deklarera metoden. En abstrakt metod är en metod som inte har någon definition. Den har bara deklarationen. När det finns minst en abstrakt metod blir den klassen en abstrakt klass. Den abstrakta klassen kan dessutom innehålla abstrakta metoder såväl som icke abstrakta metoder. Programmeraren kan inte skapa objekt ur abstrakta klasser.

När en klass utökar en abstrakt klass, bör den nya klassen definiera all abstrakt metod i abstraktklassen. Med andra ord, antar att abstrakt klass A har en abstrakt metod som kallas display. Klass B utökar klass A. Då bör klass B definiera metoddisplayen.

Exempel på gränssnitt i Java

Antag att både A och B är abstrakta klasser. Om klass C sträcker sig A och B måste klass C definiera abstrakta metoder för båda klasserna. Detta är flera arv. Java stöder inte flera arv. För att implementera det ska programmeraren använda gränssnitt. Om A och B är gränssnitt, kan klass C implementera dem. Se följande exempel.

Figur 03: Gränssnitt A

Figur 04: Gränssnitt B

Gränssnittet A har den abstrakta metoden display1 och gränssnittet B har den abstrakta metoden display2.

Figur 05: Klass C

Klass C implementerar både A- och B-gränssnitt. Därför bör den definiera båda metoderna.

Figur 06: Huvudmetod

Nu i huvudmetoden är det möjligt att skapa ett objekt av C och kalla båda metoderna. På samma sätt bidrar gränssnitt till att implementera flera arv i Java.

Annat än flera arv bidrar gränssnitt till att uppnå abstraktion. Det är ett stort koncept i OOP. Abstraktion tillåter att gömma implementeringsdetaljerna och visa endast funktionaliteten för användaren. Vidare gör det möjligt att fokusera på vad objektet gör istället för hur det görs. Som ett gränssnitt består abstrakta metoder, det hjälper till att arkivera abstraktion.

Vad är skillnaden mellan paket och gränssnitt i Java?

Paketet är en grupp relaterade klasser som ger åtkomstskydd och namnhantering. Gränssnitt är en referenstyp som liknar klassen som är en samling abstrakta metoder. Paketet hjälper till att kategorisera klasserna metodiskt för att få tillgång till och underhålla dem enkelt. Å andra sidan hjälper gränssnittet att implementera flera arv och för att uppnå abstraktion. Det här är den viktigaste skillnaden mellan paket och gränssnitt i Java. Vidare är sättet att skriva ett paket i små bokstäver som java.util, java.awt. Om gränssnittets namn är Område, skrivs det i gränssnittets område.

Sammanfattning - Paket vs gränssnitt i Java

Skillnaden mellan paket och gränssnitt i Java är att paketet hjälper till att kategorisera klasserna metodiskt för att få tillgång till och underhålla dem enkelt medan gränssnittet hjälper till att implementera flera arv och att uppnå abstraktion.

Referens:

1.Tutorials Point. "Java-paket".  Tutorials Point, 24 mars 2018. Tillgänglig här 
2.Tutorials Point. "Java-gränssnitt."  Tutorials Point, 24 mars 2018. Tillgänglig här