그러나 Book과 BookDemo 클래스가 다른 패키지에 있으면 BookDemo는 Book에 액세스할 수 없습니다. 다른 패키지의 Book 사용을 허용하려면 Book 클래스를 세 가지 변경해야 합니다.
Book 클래스를 공개로 선언하면 bookpack 패키지 외부에서 클래스에 액세스할 수 있습니다.
Book 생성자를 공개합니다. 이렇게 하면 다른 패키지에서 Book 인스턴스를 생성할 수 있습니다.
bookpack 패키지에서 Book 클래스 정의(파일: 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(); } }
// 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(); } } }
도서 수강 자격: Book 클래스 앞에는 패키지 이름(bookpack.Book)이 옵니다. 이는 컴파일러에게 클래스 정의를 찾을 수 있는 위치를 알려줍니다.
이 자격이 없으면 UseBook 클래스는 bookpack 패키지에서 Book을 찾을 수 없습니다.
Book 클래스에 필요한 변경 사항:
Public 클래스: Public 클래스 Book 선언을 통해 Book은 원래 패키지 외부에서 액세스할 수 있습니다.
Public show() 메소드: 책 세부정보를 bookpack 패키지 외부에 표시할 수 있습니다.
컴파일 및 실행을 위한 디렉토리 구조:
컴파일 및 실행 단계:
Book 클래스를 컴파일합니다:
src/ |-- bookpack/ | |-- Book.java | |-- bookpackext/ | |-- UseBook.java
src 디렉터리에서 UseBook 클래스를 컴파일합니다.
javac src/bookpack/Book.java
javac src/bookpackext/UseBook.java
고려사항:
java -cp src bookpackext.UseBook
위 내용은 패키지 액세스 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!