首頁 > Java > java教程 > 包訪問範例

包訪問範例

Patricia Arquette
發布: 2024-09-29 06:16:01
原創
685 人瀏覽過

Exemplo de Acesso a Pacote

在所提供的範例中,類別 Book 和 BookDemo 屬於同一個包,允許 BookDemo 毫無問題地訪問 Book,因為標準訪問授予同一包中所有成員的可見性。

但是,如果 Book 和 BookDemo 類別位於不同的套件中,BookDemo 將無法存取 Book。為了允許使用其他套件中的 Book,必須對 Book 類別進行三個更改:

  • 將 Book 類別宣告為 public:這使得該類別可以在 bookpack 套件之外存取。
  • 公開 Book 建構子:這將允許您在其他套件中建立 Book 實例。
  • 將 show() 方法宣告為 public:這樣就可以在 bookpack 套件之外呼叫它。

程式碼範例:公開圖書

  1. 在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();
    }
}

登入後複製

範例:從另一個套件存取圖書

  1. 使用 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 < books.length; i++) {
            books[i].show();
        }
    }
}

登入後複製

變更說明:

書班資格:
Book 類別前面有套件名稱 (bookpack.Book),告訴編譯器在哪裡可以找到類別定義。
如果沒有這個資格,UseBook 類別將無法在 bookpack 套件中找到 Book。

Book 類別所需的變更:
公共類別:公共類別 Book 聲明允許 Book 在其原始套件之外被存取。
公共建構函式:可以從另一個套件建立 Book 類別物件。

Public show() 方法:以便可以在 bookpack 包外顯示書籍詳細資訊。

編譯執行的目錄結構:

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 程式不同部分之間的存取。

以上是包訪問範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板