Rekommenderas, 2024

Redaktionen

Skillnad mellan paket och gränssnitt i Java

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 av 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örelsetabellen.

Jämförelsediagram

Grunder för jämförelsepaketgränssnitt
GrundläggandePaket är en grupp av klasser och / eller gränssnitt tillsammans.Gränssnitt är en grupp abstrakta metoder och konstanta fält.
NyckelordPaket skapas med hjälp av paketet "Paket".Gränssnitt skapas med hjälp av "Gränssnitt" sökord.
Syntaxpaket paketnamn;
offentlig klass klassnamn {
.
(kroppsdel)
.
}
gränssnitt gränssnittsnamn {
variabel deklaration;
metoddeklaration;
}
TillgångEtt paket kan importerasEtt gränssnitt kan utökas med ett annat gränssnitt och implementeras av klassen.
ÅtkomstsökordPaket kan importeras med hjälp av "import" sökord.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 genom arv. Du kan också skapa ditt paket och använda det för ditt program.

Skapa ett paket

För att skapa ett paket följer du bara följande steg.

  1. Öppna en fil och ange sedan paketets namn längst upp i filen, till exempel [paketpaketnamn; ] Paketnamnet är det namn du vill ge till paketet.
  2. Därefter definierar du en klass som du vill lägga i paketet, och kom ihåg att du förklarar det offentligt.
  3. Spara filen som en .java-fil och kompilera sedan filen, då får du ".class" 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 med en ".class" -fil i den aktuella katalogen. För att placera det i moderkatalogen använd "javac -d. . file_name.java "kommandot.
  5. Du kan också skapa en subpackage genom att deklarera subpackage namn som [paket paketnamn1. package_name2; ] högst upp i filen.
 Paket Mypackage; public class myclass {public void displayMypackage () {system.out.println ("metod displayMypackage av klass myclass av paketet Mypackage"); } 

Använda paketet

Paketen som skapats eller är tillgängliga i katalogen kan användas i programmet genom att använda en importdeklaration. Nyckelordet som används för att importera paket i ditt program är "import". Importdeklarationen kan skrivas på två sätt, eller du kan säga att det finns två sätt att få tillgång till något paket. För det första, om du vill använda en viss klass från ett paket, följer "Import" -ordet efter paketnamnet ytterligare följt av prickoperatö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öljas import-sökordet av paketnamnet ytterligare följt av punkten och operatören "*".

 importera paketnamn. klassnamn; eller importera paketnamn. *; 

I ovanstående kod kan du se * -tecknet som indikerar att andra metod importerar alla klasser som finns i förpackningarna.

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

 importera Mypackage. myclass {class TestMypackage {public static void main (sträng args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // utmatningsmetod displayMypackage av klass myclass av paketet Mypackage. 

I ovanstående kod har klass TestMypackage importerat paketet Mypackage och använt sin displayMypackage () -metod.

Definition av gränssnitt

Gränssnittet är en slags klass, men skiljer sig i en mening att metoderna som anges i gränssnittet är abstrakta vilket innebär att metoderna bara 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å är det ingen anledning att skapa något objekt för 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 arv ett sådant gränssnitt måste också genomföra alla metoderna för det ärvda gränssnittet. Eftersom fälten initialiseras vid tidpunkten för deras deklaration i gränssnittet, så det finns inget behov av konstruktor i gränssnittet, så innehåller gränssnittet ingen konstruktör. Låt oss se exemplet att skapa och använda ett gränssnitt.

 gränssnittarea {float pi = 3, 14; float find_area (float a, float b) {} klassen Cirkelverktyg Area {float find_area (float a, float b) {return (pi * a * a); } Klassformar {public static void main (string args []) {Område A = nytt område (); Cirkel C = Ny cirkel (); A = C; float F = Area. find_area (10, 10); system.out.println ("Område i cirkeln är:" + F); } 

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

Viktiga skillnader mellan paket och gränssnitt i Java

  1. Ett paket är en grupp av klasser och gränssnitt tillsammans, medan ett gränssnitt är en grupp abstrakta metoder.
  2. Paketet skapas med hjälp av ett nyckelordspaket medan ett gränssnitt skapas med hjälp av ett sökordsgränssnitt.
  3. Om en klass eller ett gränssnitt i ett paket ska användas, måste paketet importeras när ett gränssnitt måste genomföras.

Slutsats:

Både paket och gränssnitt är behållarna. Paketet minskar kodens storlek eftersom vi bara importerar klassen som ska användas istället för att definiera den igen. Med gränssnittet reduceras de förvirringar som inträffat under flera arv, för att i arvsklassen inte i flera arvor bestämma sig för att definitionen av vilken metod den ska ärva istället definierar den sin egen.

Top