Maison > Java > javaDidacticiel > Exemple d'accès au package

Exemple d'accès au package

Patricia Arquette
Libérer: 2024-09-29 06:16:01
original
685 Les gens l'ont consulté

Exemplo de Acesso a Pacote

Dans l'exemple présenté, les classes Book et BookDemo appartenaient au même package, permettant à BookDemo d'accéder à Book sans problème, car l'accès standard accorde une visibilité à tous les membres au sein du même package.

Cependant, si les classes Book et BookDemo étaient dans des packages différents, BookDemo ne pourrait pas accéder à Book. Pour permettre l'utilisation de Book à partir d'autres packages, trois modifications doivent être apportées à la classe Book :

  • Déclarer la classe Book comme publique : cela rend la classe accessible en dehors du package bookpack.
  • Rendre public le constructeur Book : cela vous permettra de créer des instances Book dans d'autres packages.
  • Déclarez la méthode show() comme publique : de cette façon, elle peut être invoquée en dehors du package bookpack.

Exemple de code : livre rendu public

  1. Définition de la classe Book dans le package bookpack (fichier : 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();
    }
}

Copier après la connexion

Exemple : Accéder au livre à partir d'un autre package

  1. Utilisation de Book à partir du package bookpackext (fichier : UseBook.java) Dans cet exemple, UseBook est une classe située dans un package différent (bookpackext) et pour utiliser Book, le nom de la classe doit être qualifié avec le nom complet du package (bookpack.Book).
// 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();
        }
    }
}

Copier après la connexion

Explication des changements :

Qualification de classe de livre :
La classe Book est précédée du nom du package (bookpack.Book) pour indiquer au compilateur où trouver la définition de la classe.
Sans cette qualification, la classe UseBook ne serait pas en mesure de trouver Book dans le package bookpack.

Modifications requises pour la classe Book :
Classe publique : La déclaration de classe publique Book permet à Book d'être accessible en dehors de son package d'origine.
Constructeur public : permet de créer des objets de classe Book à partir d'un autre package.

Méthode Public show() : afin que les détails du livre puissent être affichés en dehors du package bookpack.

Structure des répertoires pour la compilation et l'exécution :

src/
|-- bookpack/
|   |-- Book.java
|
|-- bookpackext/
|   |-- UseBook.java

Copier après la connexion

Étapes pour compiler et exécuter :
Compilez la classe Livre :

javac src/bookpack/Book.java

Copier après la connexion

Compilez la classe UseBook à partir du répertoire src :

javac src/bookpackext/UseBook.java

Copier après la connexion

Exécuter UseBook :

java -cp src bookpackext.UseBook

Copier après la connexion

Considérations :
Lorsque vous accédez à une classe publique à partir d'un autre package, vous pouvez utiliser le nom qualifié complet ou utiliser l'instruction import pour rendre la classe plus facile à utiliser sans qualifier chaque instance.
L'exemple montre comment la visibilité des membres de la classe (publique, privée, etc.) et la qualification par package sont utilisées pour modulariser le code et contrôler l'accès entre les différentes parties d'un programme Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal