在提供的示例中,book 和 bookdemo 类属于同一个包,所以, bookdemo 可以毫无问题地访问 book,因为标准访问将授予同一包中所有成员的可见性。
但是,如果 book 和 bookdemo 类别位于不同的包中,bookdemo 将无法访问 book。允许使用其他包中的其他包 book,必须对 book 三个变更类别:
- 将 book 类声明为 public:这使得这种类型可以存在 bookpack 包外访问。
- 公开 book 构造函数:这将允许您在其他包中创建 book 实例。
- 将 show() 方法声明为 public:这样就可以在那里了 bookpack 将其调用到包外。
代码示例:公开书籍
- book类(文件:在bookpack包中定义: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(); } }
示例:从另一个包中访问图书
- 使用 bookpackext 包中的 book(文件:usebook.java) 在这个例子中,usebook 它位于不同的包里 (bookpackext) 使用中等类 book,完整的包名需要使用 (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 <p><strong>变更说明:</strong></p> <p><strong>书班资格:</strong><br> book 包名在类前面 (bookpack.book),告诉编译器在哪里可以找到类定义。<br> 如果没有这个资格,usebook 类将无法在 bookpack 包中找到 book。</p> <p><strong>book 类别的必要变更:</strong><br> 公共类:公共类 book 声明允许 book 在原包之外进行访问。</p> <p><strong>book 类别的必要变更:</strong><br> 公共类:公共类 book 声明允许 book 在原包之外进行访问。<br> 公共结构函数:可以从另一个包中创建 book 类对象。</p> <p>public show() 方法:这样就可以了 bookpack 书籍的详细信息显示在包外。</p> <p>目录结构的编译和执行:<br></p> <pre class="brush:php;toolbar:false">src/ |-- bookpack/ | |-- book.java | |-- bookpackext/ | |-- usebook.java
编译和操作步骤: 编译 book 类:
javac src/bookpack/book.java
从 src 目录编译 usebook 类:
javac src/bookpackext/usebook.java
运行 usebook:
java -cp src bookpackext.UseBook
注意事项: 当您从另一个包访问公共类时,您可以使用完整的限定名或使用 import 在不限制每个例子的情况下,语句使类更容易使用。 该示例显示了如何使用类成员的可见性(公共、私有等)。)和包限制模块化代码并控制 java 访问程序的不同部分。
以上是包访问示例的详细内容。请关注图灵教育的其他相关文章!