Skillnad mellan paket och gränssnitt i Java

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 3 Juli 2024
Anonim
Skillnad mellan paket och gränssnitt i Java - Teknologi
Skillnad mellan paket och gränssnitt i Java - Teknologi

Innehåll


Paket och gränssnitt fungerar båda som en behållare. Innehållet i paket och gränssnitt kan användas av klasserna genom att importera och implementera det på motsvarande sätt. Den grundläggande skillnaden mellan paket och gränssnitt är att ett paket innehåller en grupp klasser och gränssnitt medan ett gränssnitt innehåller metoder och fält. Låt oss studera några andra skillnader med hjälp av jämförelsediagram.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelsepaketgränssnitt
GrundläggandePaket är en grupp klasser och / eller gränssnitt tillsammans.Gränssnitt är en grupp abstrakta metoder och konstant fält.
NyckelordPaket skapas med hjälp av nyckelordet "Paket".Gränssnitt skapas med hjälp av nyckelordet "Gränssnitt".
Syntaxpaket paketnamn;
public class class_name {
.
(klassens kropp)
.
}
interface interface_name {
variabel deklaration;
metoddeklaration;
}
TillgångEtt paket kan importeras Ett gränssnitt kan utökas med ett annat gränssnitt och implementeras av klassen.
Få åtkomst till nyckelord Paket kan importeras med hjälp av "import" nyckelord.Gränssnitt kan implementeras med hjälp av "implementera" nyckelord.


Definition av paket

Paket är samling eller grupper av olika klasser och gränssnitt. Klasserna i paket är relaterade till varandra i viss omfattning eller efter arv. Du kan också skapa ditt paket och använda det för ditt program.

Skapa ett paket

Följ följande steg för att skapa ett paket.

  1. Öppna en fil och förklar sedan namnet på paketet överst i filen, som att paketnamnet är det namn du vill ge paketet.
  2. Därefter definierar du en klass som du vill lägga i paketet, och kom ihåg att du förklarar den offentlig.
  3. Spara filen som en .java-fil och kompilera sedan filen, då erhålls ”.klass” för den filen.
  4. För att skapa ett paket för den här filen är kommandot som används “javac -d. file_name.java. Du kan se att paketet är skapat som innehåller en ”.klass” -fil i den aktuella katalogen. För att placera den i överordnade kataloger använder du "javac -d. . file_name.java ”-kommandot.
  5. Du kan också skapa ett underpaket genom att ange namnet på underpaketet som överst i filen.

paket Mypackage; public class myclass {public void displayMypackage () {system.out.ln ("metodvisningMypackage of class myclass of package Mypackage"); }

Använda paketet


De paket som skapats eller finns i katalogen kan användas i programmet med hjälp av ett importmeddelande. Nyckelordet som används för att importera valfritt paket i ditt program är "import". Importmeddelandet kan skrivas på två sätt, eller så kan du säga att det finns två sätt att komma åt valfritt paket. Först, om du vill använda en viss klass från ett paket, följs "importera" nyckelordet av paketnamnet, följt av punktoperatören och klassnamnet som du vill använda från paketet. För det andra, om du vill använda många klasser som finns i paketen, följs importnyckelordet av paketnamnet följt av punkten och operatören "*".

importera paketnamn. klassnamn; eller importera paketnamn. *;

I koden ovan kan du se * -tecknet som indikerar att den andra metoden importerar alla klasser i paketen.

Låt oss nu se användningen av paketet med ett exempel.

importera Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // utmatningsmetod displayMypackage of class myclass of package Mypackage.

I ovanstående kod har klassen TestMypackage importerat paketet Mypackage och använt metoden displayMypackage ().

Definition av gränssnitt

Gränssnitt är en typ av klass, men skiljer sig i en mening att de metoder som deklareras i gränssnittet är abstrakta vilket innebär att metoderna endast deklareras men inte definieras. Fälten i gränssnittet är alltid offentliga, statiska, slutliga. Fälten måste initialiseras vid tidpunkten för deklarationen. De metoder som deklareras av gränssnittet definieras av klassen som implementerar det gränssnittet enligt dess krav. Eftersom metoderna i gränssnittet inte utför någon funktion, så det användes inte att skapa något objekt i gränssnittet. Därför kan inget objekt skapas för gränssnittet.

Gränssnittet kan också ärva det andra gränssnittet, men klassen som ärver ett sådant gränssnitt måste också implementera alla metoder för det ärvda gränssnittet. Eftersom fälten initialiseras vid tidpunkten för deklarationen i gränssnittet, så det finns inget behov av konstruktör i gränssnittet, därför innehåller gränssnittet ingen konstruktör. Låt oss se exemplet på att skapa och använda ett gränssnitt.

gränssnitt Area {float pi = 3,14; float find_area (float a, float b) {} klass Cirkel implementerar Area {float find_area (float a, float b) {return (pi * a * a); } Klassformer {public static void main (string args) {Area A = new Area (); Cirkel C = ny cirkel (); A = C; float F = Area. find_area (10,10); system.out.ln ("Cirkelområdet är:" + F); }

I ovanstående kod hade vi skapat ett gränssnittområde, och klassen Circle har implementerat gränssnittet Area. Fältet "pi" har initialiserats i gränssnittet vid tidpunkten för dess deklaration. Klasscirkeln har definierat den abstrakta metoden för klassområdet enligt dess krav.

  1. Ett paket är en grupp klasser och gränssnitt tillsammans medan ett gränssnitt är en grupp abstrakta metoder.
  2. Paket skapas med ett nyckelord paket medan ett gränssnitt skapas med hjälp av ett nyckelord gränssnitt.
  3. Om en klass eller ett gränssnitt i ett paket ska användas är paketet som ska importeras medan ett gränssnitt måste implementeras.

Slutsats:

Både paket och gränssnitt är behållarna. Paketet minskar storleken på koden eftersom vi bara importerar klassen som ska användas istället för att definiera den igen.Medan gränssnittet minskar förvirringarna som inträffade medan flera arv eftersom det i fråga om flera arv inte ärverklassen behöver bestämma den definitionen av vilken metod den ska ärva i stället definierar den sin egen.