Eine der innovativsten ist das Konzept von Paketen.Pakete in Java sind eine Möglichkeit, eine Gruppe von Klassen, Schnittstellen, Aufzählungen, Anmerkungen und Unterpaketen zu kapseln. Konzeptionell können Sie sich Java-Pakete so vorstellen, dass sie verschiedenen Ordnern auf Ihrem Computer ähneln. In diesem Tutorial werden wir die Grundlagen von Paketen in behandeln
Nachfolgend sind die in diesem Artikel behandelten Themen aufgeführt:
- Was ist ein Paket in Java?
- Eingebaute Pakete
- Benutzerdefinierte Pakete
- Statischer Import in Java
- Zugriffsschutz in Java-Paketen
- Punkte, die man sich merken sollte
Was ist ein Paket in Java?
Das Java-Paket ist ein Mechanismus zum Gruppieren ähnlicher Klassen, Schnittstellen und Unterklassen basierend auf der Funktionalität. Wenn Software in die geschrieben wird kann es aus Hunderten oder sogar Tausenden von Einzelklassen bestehen. ichEs ist sinnvoll, die Dinge zu organisieren, indem verwandte Klassen und Schnittstellen in Paketen platziert werden.
Die Verwendung von Paketen während des Codierens bietet viele Vorteile wie:
- Wiederverwendbarkeit: Die in den Paketen eines anderen Programms enthaltenen Klassen können problemlos wiederverwendet werden
- Namenskonflikte: PaketeHelfen Sie uns, eine Klasse eindeutig zu identifizieren, die wir beispielsweise haben können company.sales.Employee und company.marketing.Employee Klassen
- Kontrollierter Zugriff: Bietet an Zugangsschutz wie protierte Klassen, Standardklassen und private Klassen
- Datenverkapselung :: Sie pBieten Sie eine Möglichkeit, Klassen auszublenden, und verhindern Sie, dass andere Programme auf Klassen zugreifen, die nur für den internen Gebrauch bestimmt sind
- Wartung: Mit Paketen,Sie können Ihr Projekt besser organisieren und verwandte Klassen leicht finden
Es wird empfohlen, Pakete beim Codieren in Java zu verwenden. Als Programmierer können Sieleicht herauszufinden, die , Schnittstellen, Aufzählungen und Anmerkungen, die zusammenhängen. Wir haben zwei Arten von Paketen in Java.
Arten von Paketen in Java
Je nachdem, ob das Paket vom Benutzer definiert wird oder nicht, werden Pakete in zwei Kategorien unterteilt:
- Eingebaute Pakete
- Benutzerdefinierte Pakete
Eingebaute Pakete
Integrierte Pakete oder vordefinierte Pakete sind diejenigen, die als Teil von kommen (Java Development Kit) zur Vereinfachung der Aufgabe des Java-Programmierers. Sie bestehen aus einer Vielzahl vordefinierter Klassen und Schnittstellen, die Teil der Java-APIs sind. Einige der häufig verwendeten integrierten Pakete sind java.lang, java.io, java.util, java.applet usw. Hier ist ein einfaches Programm, das ein integriertes Paket verwendet.
Paket Edureka import java.util.ArrayList Klasse BuiltInPackage {public static void main (String [] args) {ArrayList myList = neue ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('Die Elemente der Liste sind:' + myList)}}
Ausgabe:
Die Elemente der Liste sind: [3, 2, 1]
Die ArrayList-Klasse gehört zum Paket java.util. Um es zu verwenden, müssen wir das Paket mit der import-Anweisung importieren. Die erste Zeile des Codes Importieren Sie java.util.ArrayList importiert das Paket java.util und verwendet welches im Unterpaket util vorhanden ist.
Benutzerdefinierte Pakete
Benutzerdefinierte Pakete sind solche, die von Benutzern entwickelt werden, um verwandte Klassen, Schnittstellen und Unterpakete zu gruppieren. Lassen Sie uns anhand eines Beispielprogramms sehen, wie Sie Pakete erstellen, Java-Programme in den Paketen kompilieren und ausführen.
Erstellen eines Pakets in Java
Das Erstellen eines Pakets in Java ist eine sehr einfache Aufgabe. Wählen Sie einen Namen für das Paket und geben Sie a an Paket Befehl als erste Anweisung in der Java-Quelldatei. Die Java-Quelldatei kann die Klassen, Schnittstellen, Aufzählungen und Anmerkungstypen enthalten, die Sie in das Paket aufnehmen möchten.Mit der folgenden Anweisung wird beispielsweise ein Paket mit dem Namen erstellt Mein Paket.
Paket MyPackage
Die Paketanweisung gibt einfach an, zu welchem Paket die definierten Klassen gehören.
Hinweis: Wenn Sie die Paketanweisung weglassen, werden die Klassennamen in das Standardpaket eingefügt, das keinen Namen hat. Obwohl das Standardpaket für kurze Programme in Ordnung ist, ist es für echte Anwendungen nicht ausreichend.
Einfügen einer Klasse in das Java-Paket
ZuErstellen Sie eine Klasse in einem Paket, sollten SieDeklarieren Sie den Paketnamen als erste Anweisung Ihres Programms. Fügen Sie dann die Klasse als Teil des Pakets hinzu. Denken Sie jedoch daran, dass eine Klasse nur eine Paketdeklaration haben kann. Hier ist ein einfaches Programm, um das Konzept zu verstehen.
package MyPackage public class Vergleiche {int num1, num2 Vergleiche (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Maximaler Wert von zwei Zahlen sind '+ num1)} else {System.out.println (' Maximaler Wert von zwei Zahlen ist '+ num2)}} public static void main (String args []) {Compare current [] = new Compare [3] current [1] = neuer Vergleich (5, 10) Strom [2] = neuer Vergleich (123, 120) für (int i = 1 i<3 i++) { current[i].getmax() } } }
Ausgabe:
umgekehrte Ziffern einer ganzzahligen Python
Der Maximalwert von zwei Zahlen ist 10. Der Maximalwert von zwei Zahlen ist 123
Wie Sie sehen können, habe ich ein Paket mit dem Namen MyPackage deklariert und in diesem Paket eine Klasse Compare erstellt. Java verwendet Dateisystemverzeichnisse zum Speichern von Paketen. Dieses Programm würde also in einer Datei als gespeichert Compare.java und wird im Verzeichnis MyPackage gespeichert. Wenn die Datei kompiliert wird, erstellt Java eine .Klasse Datei und speichern Sie es im selben Verzeichnis. Denken Sie daran, dass der Name des Pakets mit dem Verzeichnis übereinstimmen muss, in dem diese Datei gespeichert ist.
Sie fragen sich möglicherweise, wie Sie diese Compare-Klasse aus einer Klasse in einem anderen Paket verwenden können?
Erstellen einer Klasse innerhalb eines Pakets beim Importieren eines anderen Pakets
Nun, es ist ganz einfach. Sie müssen es nur importieren. Sobald es importiert ist, können Sie über seinen Namen darauf zugreifen. Hier ist ein Beispielprogramm, das das Konzept demonstriert.
Paket Edureka importieren MyPackage.Compare public class Demo {public statisch void main (String args []) {int n = 10, m = 10 Vergleiche current = new Vergleiche (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Beide Werte sind gleich')}}}
Ausgabe:
Beide Werte sind gleich
Ich habe das Paket zuerst deklariert Edureka , dann importierte die Klasse Vergleichen Sie aus dem Paket MyPackage. Also die BestellungWenn wir beim Importieren eines anderen Pakets eine Klasse in einem Paket erstellen,
- Paketerklärung
- Paketimport
Wenn Sie die import-Anweisung nicht verwenden möchten, gibt es eine andere Alternative, um von einem anderen Paket aus auf eine Klassendatei des Pakets zuzugreifen. Sie können beim Importieren einfach einen vollständig qualifizierten Namen verwenden .
Verwenden des vollständig qualifizierten Namens beim Importieren einer Klasse
Hier ist ein Beispiel, um das Konzept zu verstehen. Ich werde das gleiche Paket verwenden, das ich zuvor im Blog deklariert habe. Mein Paket .
Paket Edureka public class Demo {public statisch void main (String args []) {int n = 10, m = 11 // Verwenden des vollständig qualifizierten Namens anstelle des Imports von MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Beide Werte sind gleich')}}}
Ausgabe:
Der Maximalwert von zwei Zahlen ist 11
In der Demo-Klasse habe ich anstelle des Imports des Pakets den vollständig qualifizierten Namen verwendet, z MyPackage.Compare um das Objekt davon zu erstellen. Da es sich um das Importieren von Paketen handelt, können Sie auch das Konzept des statischen Imports in Java ausprobieren.
Statischer Import in Java
Die statische Importfunktion wurde in eingeführt ab Version 5. Es erleichtert dem Java-Programmierer den Zugriff auf statische AufladungenMitglied einer Klasse direkt ohne Verwendung des vollständig qualifizierten Namens.
Paket MyPackage importieren statisch java.lang.Math. * // statischer Import importieren statisch java.lang.System. * // statischer Import öffentliche Klasse StaticImportDemo {public statisch void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Zugriff auf die sqrt () -Methode direkt out.println ('Sq. root von' + val + 'ist' + sqroot) // Wir müssen 'System.out}} nicht verwenden.
Ausgabe:
Sq. Die Wurzel von 64,0 ist 8,0
Obwohl die Verwendung des statischen Imports weniger Codierung erfordert, kann eine übermäßige Verwendung das Programm unlesbar und nicht wartbar machen. Fahren wir nun mit dem nächsten Thema fort, der Zugriffssteuerung in Paketen.
Zugriffsschutz in Java-Paketen
Möglicherweise kennen Sie verschiedene Aspekte des Zugriffskontrollmechanismus von Java und dessen Zugriffsspezifizierer . Pakete in Java fügen der Zugriffssteuerung eine weitere Dimension hinzu. Sowohl Klassen als auch Pakete sind ein Mittel von Datenverkapselung . Während Pakete als Container für Klassen und andere untergeordnete Pakete fungieren, fungieren Klassen als Container für Daten und Code. Aufgrund dieses Zusammenspiels zwischen Paketen und Klassen adressieren Java-Pakete vier Sichtbarkeitskategorien für Klassenmitglieder:
- Unterklassen im selben Paket
- Nicht-Unterklassen im selben Paket
- Unterklassen in verschiedenen Paketen
- Klassen, die sich weder im selben Paket noch in Unterklassen befinden
Die folgende Tabelle gibt areales Bild, welcher Typzugriff möglich ist und welcher nicht, wenn Pakete in Java verwendet werden:
Privat | Kein Modifikator | Geschützt | Öffentlichkeit | |
Selbe Klasse | Ja | Ja | Ja | Ja |
Gleiche Paketunterklassen | Nein | Ja | Ja | Ja |
Gleiches Paket Nicht-Unterklassen | Nein | Ja | Ja | Ja |
Unterklassen verschiedener Pakete | Nein | Nein | Ja | Ja |
Verschiedene Pakete, die keine Unterklassen sind | Nein | Nein | Nein | Ja |
Wir können die Daten in der obigen Tabelle wie folgt vereinfachen:
- Auf alles, was als öffentlich deklariert wurde, kann von überall aus zugegriffen werden
- Alles, was als privat deklariert wurde, kann nur innerhalb dieser Klasse gesehen werden
- Wenn der Zugriffsspezifizierer nicht erwähnt wird, ist ein Element sowohl für Unterklassen als auch für andere Klassen im selben Paket sichtbar
- Schließlich kann alles, was als geschütztes Element deklariert wurde, außerhalb Ihres aktuellen Pakets angezeigt werden, jedoch nur für Klassen, die Ihre Klasse direkt unterklassifizieren
Auf diese Weise bieten Java-Pakete eine Zugriffssteuerung für die Klassen. Nun, dies schließt das Konzept von Paketen in Java ab. Hier sind einige Punkte, die Sie bei der Verwendung von Paketen in beachten sollten .
Punkte, die man sich merken sollte
- Jede Klasse ist Teil eines Pakets. Wenn Sie die Paketanweisung weglassen, werden die Klassennamen in das Standardpaket eingefügt
- Eine Klasse kann nur eine Paketanweisung haben, aber mehr als eine Importpaketanweisung
- Der Name des Pakets muss mit dem Verzeichnis übereinstimmen, in dem die Datei gespeichert wird
- Beim Importieren eines anderen Pakets muss die Paketdeklaration die erste Anweisung sein, gefolgt vom Paketimport
Damit sind wir am Ende dieses Artikels 'Pakete in Java' angelangt. Wir lerntenWas ist ein Paket und warum sollten wir sie verwenden? Es besteht kein Zweifel, dass das Java-Paket einer der wichtigsten Teile für effiziente Java-Programmierer ist. Dies verbessert nicht nur den Codierungsstil des Programmierers, sondern reduziert auch viel zusätzlichen Aufwand.
Was ist Deadlock in Java
Wenn Sie diesen Artikel unter 'Pakete in Java' gefunden haben, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen. Neben diesen Fragen zu Java-Interviews haben wir einen Lehrplan entwickelt, der für Studenten und Fachleute gedacht ist, die Java-Entwickler werden möchten.