Im dargestellten Beispiel gehörten die Klassen Book und BookDemo zum selben Paket, sodass BookDemo problemlos auf Book zugreifen konnte, da der Standardzugriff allen Mitgliedern innerhalb desselben Pakets Sichtbarkeit gewährt.
Wenn sich die Klassen Book und BookDemo jedoch in unterschiedlichen Paketen befänden, könnte BookDemo nicht auf Book zugreifen. Um die Verwendung von Book aus anderen Paketen zu ermöglichen, müssen drei Änderungen an der Book-Klasse vorgenommen werden:
Codebeispiel: Buch veröffentlicht
package bookpack; // Agora a classe Book é pública para permitir o acesso a partir de outros pacotes. public class Book { private String title; private String author; private int pubDate; // Construtor público public Book(String t, String a, int d) { title = t; author = a; pubDate = d; } // Método público para exibir os detalhes do livro public void show() { System.out.println(title); System.out.println(author); System.out.println(pubDate); System.out.println(); } }
Beispiel: Zugriff auf ein Buch aus einem anderen Paket
// Esta classe está no pacote bookpackext. package bookpackext; // Usa a classe Book do pacote bookpack. class UseBook { public static void main(String args[]) { // Qualifica a classe Book com o nome do pacote para acessá-la. bookpack.Book books[] = new bookpack.Book[5]; // Cria uma lista de livros books[0] = new bookpack.Book("Java: A Beginner's Guide", "Schildt", 2014); books[1] = new bookpack.Book("Java: The Complete Reference", "Schildt", 2014); books[2] = new bookpack.Book("The Art of Java", "Schildt and Holmes", 2003); books[3] = new bookpack.Book("Red Storm Rising", "Clancy", 1986); books[4] = new bookpack.Book("On the Road", "Kerouac", 1955); // Exibe os detalhes de cada livro for (int i = 0; i < books.length; i++) { books[i].show(); } } }
Erklärung der Änderungen:
Buchklassenqualifikation:
Der Book-Klasse wird der Paketname (bookpack.Book) vorangestellt, um dem Compiler mitzuteilen, wo die Klassendefinition zu finden ist.
Ohne diese Qualifikation wäre die UseBook-Klasse nicht in der Lage, Book im Bookpack-Paket zu finden.
Erforderliche Änderungen an der Buchklasse:
Öffentliche Klasse: Die Deklaration „Book“ der öffentlichen Klasse ermöglicht den Zugriff auf das Buch außerhalb seines Originalpakets.
Öffentlicher Konstruktor: Ermöglicht das Erstellen von Book-Klassenobjekten aus einem anderen Paket.
Public show()-Methode: damit Buchdetails außerhalb des Bookpack-Pakets angezeigt werden können.
Verzeichnisstruktur für Kompilierung und Ausführung:
src/ |-- bookpack/ | |-- Book.java | |-- bookpackext/ | |-- UseBook.java
Schritte zum Kompilieren und Ausführen:
Kompilieren Sie die Buchklasse:
javac src/bookpack/Book.java
Kompilieren Sie die UseBook-Klasse aus dem src-Verzeichnis:
javac src/bookpackext/UseBook.java
UseBook ausführen:
java -cp src bookpackext.UseBook
Überlegungen:
Wenn Sie von einem anderen Paket aus auf eine öffentliche Klasse zugreifen, können Sie den vollständig qualifizierten Namen verwenden oder die Importanweisung verwenden, um die Verwendung der Klasse zu vereinfachen, ohne jede Instanz zu qualifizieren.
Das Beispiel zeigt, wie die Sichtbarkeit von Klassenmitgliedern (öffentlich, privat usw.) und die Qualifizierung pro Paket verwendet werden, um Code zu modularisieren und den Zugriff zwischen verschiedenen Teilen eines Java-Programms zu steuern.
Das obige ist der detaillierte Inhalt vonBeispiel für den Paketzugriff. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!