> Java > java지도 시간 > 패키지 액세스 예

패키지 액세스 예

Patricia Arquette
풀어 주다: 2024-09-29 06:16:01
원래의
685명이 탐색했습니다.

그러나 Book과 BookDemo 클래스가 다른 패키지에 있으면 BookDemo는 Book에 액세스할 수 없습니다. 다른 패키지의 Book 사용을 허용하려면 Book 클래스를 세 가지 변경해야 합니다.Exemplo de Acesso a Pacote

Book 클래스를 공개로 선언하면 bookpack 패키지 외부에서 클래스에 액세스할 수 있습니다.

Book 생성자를 공개합니다. 이렇게 하면 다른 패키지에서 Book 인스턴스를 생성할 수 있습니다.

    show() 메소드를 공개로 선언합니다. 이렇게 하면 bookpack 패키지 외부에서 호출할 수 있습니다.
  • 코드 예: 도서 공개

bookpack 패키지에서 Book 클래스 정의(파일: Book.java)

    예: 다른 패키지에서 책에 액세스
bookpackext 패키지의 Book 사용(파일: UseBook.java) 이 예에서 UseBook은 다른 패키지(bookpackext)에 위치한 클래스이며, Book을 사용하려면 클래스 이름을 전체 패키지 이름(bookpack.Book)으로 정규화해야 합니다.
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();
    }
}

로그인 후 복사

  1. 변경 설명:
// 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은 원래 패키지 외부에서 액세스할 수 있습니다.

공용 생성자: 다른 패키지에서 Book 클래스 객체를 생성할 수 있습니다.

Public show() 메소드: 책 세부정보를 bookpack 패키지 외부에 표시할 수 있습니다.
컴파일 및 실행을 위한 디렉토리 구조:

컴파일 및 실행 단계:

Book 클래스를 컴파일합니다:

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

로그인 후 복사

src 디렉터리에서 UseBook 클래스를 컴파일합니다.

javac src/bookpack/Book.java

로그인 후 복사
UseBook 실행:


javac src/bookpackext/UseBook.java

로그인 후 복사

고려사항:

다른 패키지에서 공개 클래스에 액세스할 때 정규화된 이름을 사용하거나 import 문을 사용하면 각 인스턴스를 한정하지 않고도 클래스를 더 쉽게 사용할 수 있습니다.
java -cp src bookpackext.UseBook

로그인 후 복사
이 예에서는 클래스 멤버 가시성(공개, 비공개 등) 및 패키지별 제한을 사용하여 코드를 모듈화하고 Java 프로그램의 여러 부분 간의 액세스를 제어하는 ​​방법을 보여줍니다.

위 내용은 패키지 액세스 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿