Heim >Java >javaLernprogramm >Beispiel für den Paketzugriff

Beispiel für den Paketzugriff

Patricia Arquette
Patricia ArquetteOriginal
2024-09-29 06:16:01687Durchsuche

Exemplo de Acesso a Pacote

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:

  • Deklarieren Sie die Buchklasse als öffentlich: Dadurch wird die Klasse außerhalb des Bookpack-Pakets zugänglich.
  • Machen Sie den Book-Konstruktor öffentlich: Dadurch können Sie Book-Instanzen in anderen Paketen erstellen.
  • Deklarieren Sie die Methode show() als öffentlich: Auf diese Weise kann sie außerhalb des Bookpack-Pakets aufgerufen werden.

Codebeispiel: Buch veröffentlicht

  1. Definieren der Buchklasse im Bookpack-Paket (Datei: Book.java)
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

  1. Buch aus dem bookpackext-Paket verwenden (Datei: UseBook.java) In diesem Beispiel ist UseBook eine Klasse, die sich in einem anderen Paket (bookpackext) befindet. Um Book zu verwenden, muss der Klassenname mit dem vollständigen Paketnamen (bookpack.Book) qualifiziert werden.
// 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn