Jämförelsediagram
Grunder för jämförelse | paket | gränssnitt |
---|---|---|
Grundläggande | Paket är en grupp av klasser och / eller gränssnitt tillsammans. | Gränssnitt är en grupp abstrakta metoder och konstanta fält. |
Nyckelord | Paket skapas med hjälp av paketet "Paket". | Gränssnitt skapas med hjälp av "Gränssnitt" sökord. |
Syntax | paket paketnamn; offentlig klass klassnamn { . (kroppsdel) . } | gränssnitt gränssnittsnamn { variabel deklaration; metoddeklaration; } |
Tillgång | Ett paket kan importeras | Ett gränssnitt kan utökas med ett annat gränssnitt och implementeras av klassen. |
Åtkomstsökord | Paket 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.
- Ö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.
- Därefter definierar du en klass som du vill lägga i paketet, och kom ihåg att du förklarar det offentligt.
- Spara filen som en .java-fil och kompilera sedan filen, då får du ".class" för den filen.
- 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.
- 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
- Ett paket är en grupp av klasser och gränssnitt tillsammans, medan ett gränssnitt är en grupp abstrakta metoder.
- Paketet skapas med hjälp av ett nyckelordspaket medan ett gränssnitt skapas med hjälp av ett sökordsgränssnitt.
- 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.