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 :
Exemple de code : livre rendu public
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(); } }
Exemple : Accéder au livre à partir d'un autre package
// 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(); } } }
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
Étapes pour compiler et exécuter :
Compilez la classe Livre :
javac src/bookpack/Book.java
Compilez la classe UseBook à partir du répertoire src :
javac src/bookpackext/UseBook.java
Exécuter UseBook :
java -cp src bookpackext.UseBook
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!