Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen Paketen und Schnittstellen in Java

Packages und Interfaces fungieren beide als Container. Die Inhalte in Paketen und Schnittstellen können von den Klassen verwendet werden, indem sie importiert und entsprechend implementiert werden. Der grundlegende Unterschied zwischen Paketen und Schnittstellen besteht darin, dass ein Paket eine Gruppe von Klassen und Schnittstellen enthält, während eine Schnittstelle Methoden und Felder enthält. Untersuchen wir einige andere Unterschiede anhand einer Vergleichstabelle.

Vergleichstabelle

VergleichsgrundlagePaketeSchnittstellen
BasicPackages sind eine Gruppe von Klassen und / oder Schnittstellen.Schnittstellen sind eine Gruppe abstrakter Methoden und konstanten Felder.
StichwortPakete werden mit dem Schlüsselwort "Package" erstellt.Die Schnittstelle wird mit dem Schlüsselwort "Schnittstelle" erstellt.
SyntaxPaket Paketname;
öffentliche Klasse Klassenname {
.
(Klasse der Klasse)
.
}
Schnittstelle Schnittstellenname {
variable Aussage;
Methodendeklaration;
}
ZugriffEin Paket kann importiert werdenEine Schnittstelle kann durch eine andere Schnittstelle erweitert und von der Klasse implementiert werden.
Zugriff auf SchlüsselwortPakete können mit dem Schlüsselwort "import" importiert werden.Schnittstellen können mit dem Schlüsselwort "implement" implementiert werden.

Definition von Paketen

Pakete sind Sammlungen oder Gruppen der verschiedenen Klassen und Schnittstellen. Die Klassen in Paketen sind in gewissem Umfang oder durch Vererbung miteinander verbunden. Sie können Ihr Paket auch erstellen und für Ihr Programm verwenden.

Paket erstellen

Um ein Paket zu erstellen, folgen Sie einfach den folgenden Schritten.

  1. Öffnen Sie eine Datei und geben Sie den Namen des Pakets oben in der Datei an, wie [package package_name; ] Der Paketname ist der Name, den Sie dem Paket geben möchten.
  2. Als Nächstes definieren Sie eine Klasse, die Sie in das Paket einfügen möchten, und denken Sie daran, dass Sie es als öffentlich deklarieren.
  3. Speichern Sie die Datei als .java-Datei und kompilieren Sie die Datei. Anschließend wird ".class" für diese Datei abgerufen.
  4. Um ein Paket für diese Datei zu erstellen, lautet der Befehl „javac -d. Dateiname.java. Sie können sehen, dass das Paket erstellt wurde und eine ".class" -Datei im aktuellen Verzeichnis enthält. Um es im übergeordneten Verzeichnis abzulegen, verwenden Sie „javac -d. . Befehl Dateiname.java ”.
  5. Sie können ein Unterpaket auch erstellen, indem Sie den Namen des Unterpakets als [Paket Paketname1] angeben. package_name2; ] am Anfang der Datei.
 Paket Mypackage; public class myclass {public void displayMypackage () {system.out.println ("Methode displayMypackage der Klasse myclass des Pakets Mypackage"); } 

Verwenden des Pakets

Die im Verzeichnis erstellten oder verfügbaren Pakete können mithilfe einer Importanweisung im Programm verwendet werden. Das Schlüsselwort zum Importieren eines Pakets in Ihrem Programm lautet "import". Die Importanweisung kann auf zwei Arten geschrieben werden, oder Sie können sagen, dass es zwei Möglichkeiten gibt, auf jedes Paket zuzugreifen. Wenn Sie eine bestimmte Klasse aus einem Paket verwenden möchten, folgt zunächst dem Schlüsselwort "import" der Paketname, gefolgt vom Punktoperator und dem Klassennamen, den Sie aus dem Paket verwenden möchten. Wenn Sie viele Klassen verwenden möchten, die in den Paketen enthalten sind, folgt auf das Schlüsselwort import der Name des Pakets, gefolgt von dem Punkt und dem Operator "*".

 importieren Sie Paketname. Klassenname; oder importieren Sie Paketname. *; 

Im obigen Code sehen Sie das Zeichen *, das angibt, dass die zweite Methode alle in den Paketen enthaltenen Klassen importiert.

Lassen Sie uns nun die Verwendung des Pakets anhand eines Beispiels betrachten.

 Mypackage importieren. myclass {Klasse TestMypackage {public static void main (Zeichenfolge args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // Ausgabemethode displayMypackage der Klasse myclass des Pakets Mypackage. 

Im obigen Code hat die Klasse TestMypackage das Paket Mypackage importiert und die Methode displayMypackage () verwendet.

Definition der Schnittstelle

Schnittstelle ist eine Art Klasse, unterscheidet sich jedoch dahingehend, dass die in der Schnittstelle deklarierten Methoden abstrakt sind, dh die Methoden werden nur deklariert, jedoch nicht definiert. Die Felder in der Benutzeroberfläche sind immer öffentlich, statisch und endgültig. Die Felder müssen zum Zeitpunkt der Deklaration initialisiert werden. Die von der Schnittstelle deklarierten Methoden werden von der Klasse definiert, die diese Schnittstelle entsprechend ihrer Anforderung implementiert. Da die Methoden in der Schnittstelle keine Funktion ausführen, können keine Objekte der Schnittstelle erstellt werden. Daher kann für die Schnittstelle kein Objekt erstellt werden.

Die Schnittstelle kann auch die andere Schnittstelle erben, aber die Klasse, die eine solche Schnittstelle erbt, muss auch alle Methoden der geerbten Schnittstelle implementieren. Da die Felder zum Zeitpunkt ihrer Deklaration in der Schnittstelle initialisiert werden, ist kein Konstruktor in der Schnittstelle erforderlich. Daher enthält die Schnittstelle keinen Konstruktor. Sehen wir uns das Beispiel zum Erstellen und Verwenden einer Schnittstelle an.

 Schnittstellenbereich {float pi = 3, 14; float find_area (float a, float b) {} Klasse implementiert Kreisfläche {float find_area (float a, float b) {return (pi * a * a); } Klassenformen {public static void main (Zeichenfolge args []) {Area A = new Area (); Kreis C = neuer Kreis (); A = C; float F = Fläche. find_area (10, 10); system.out.println ("Fläche des Kreises ist:" + F); } 

Im obigen Code hatten wir einen Interface-Bereich erstellt, und die Klasse Circle hat den Interface-Bereich implementiert. Das Feld "pi" wurde zum Zeitpunkt seiner Deklaration in der Schnittstelle initialisiert. Die Klasse Circle hat die abstrakte Methode des Klassenbereichs entsprechend ihrer Anforderung definiert.

Hauptunterschiede zwischen Paketen und Schnittstellen in Java

  1. Ein Paket ist eine Gruppe von Klassen und Schnittstellen, während eine Schnittstelle eine Gruppe abstrakter Methoden ist.
  2. Das Paket wird mit einem Schlüsselwortpaket erstellt, während eine Schnittstelle mit einer Schlüsselwortschnittstelle erstellt wird .
  3. Wenn eine Klasse oder eine Schnittstelle innerhalb eines Pakets verwendet werden soll, muss das Paket importiert werden, während eine Schnittstelle implementiert werden muss.

Fazit:

Sowohl Pakete als auch Schnittstelle sind die Container. Das Paket reduziert die Größe des Codes, da wir nur die zu importierende Klasse importieren, anstatt sie neu zu definieren. Während das Interface die Verwirrungen verringert, die während mehrerer Vererbungen aufgetreten sind, da die vererbende Klasse bei mehreren Vererbungen nicht entscheiden muss, welche Methode sie erben soll, stattdessen definiert sie ihre eigene.

Top