首頁  >  文章  >  Java  >  Java 函數的存取權限修飾符之與 Java 9 模組系統的關係

Java 函數的存取權限修飾符之與 Java 9 模組系統的關係

WBOY
WBOY原創
2024-04-26 08:54:01420瀏覽

Java 9 模組系統改變了存取權限修飾符的含義:public 修飾符允許外部模組存取;protected 修飾符允許導出包的模組存取;default 修飾符限制存取到導出包的模組;private 修飾符僅允許聲明模組內訪問。

Java 函数的访问权限修饰符之与 Java 9 模块系统的关系

Java 函數的存取權限修飾符與Java 9 模組系統的關係式

Java 9 引入了模組系統,這是一種對Java 應用程式進行組織和打包的新方法。模組系統為 Java 語言中現有的存取權限修飾符(public、protected、default 和 private)引入了新的意義。

存取權修飾符

Java 中的存取權修飾符指定了哪些類別和套件可以存取該類別、欄位或方法。這四個存取權限修飾符的解釋如下:

  • public:對所有類別和套件都可以存取。
  • protected:對同一套件中的所有類別和所有子類別都可以存取。
  • default(也稱為 package-private):只對相同套件中的類別可以存取。
  • private:僅對宣告該類別、欄位或方法的類別可以存取。

模組系統

Java 9 模組系統可讓您將程式碼組織成模組。模組是一個編譯單元的集合,它具有明確的依賴項和導出的套件。模組系統透過在模組和程式包之間建立依賴關係來加強封裝。

存取權限修飾符與模組系統

在Java 9 模組系統中,存取權限修飾符的作用發生了變化:

  • public:類別、欄位或方法可以直接從模組外部存取。
  • protected:類別、欄位或方法只能從模組內部或匯出套件的模組直接存取。
  • default(package-private):類別、欄位或方法只能從匯出套件的模組中存取。
  • private:類別、欄位或方法只能從宣告模組中存取。

實戰案例

考慮以下範例模組:

module demo.module {
    exports demo.package;
}

package demo.package;

class MyClass {
    public void publicMethod() { }
    protected void protectedMethod() { }
    void defaultMethod() { }
    private void privateMethod() { }
}

在這個範例中,demo.package 套件被導出,因此其他模組可以存取其公共類別、欄位和方法。

  • publicMethod 是公開的,可以從任何模組存取。
  • protectedMethod 是受保護的,只能從 demo.module 或導入了 demo.package 套件的模組中存取。
  • defaultMethod 是預設的,只能從導入了 demo.package 套件的模組中存取。
  • privateMethod 是私有的,只能從 demo.module 存取。

結論

透過理解Java 9 模組系統和存取權限修飾符之間的關係,您可以加強應用程式的封裝並管理對程式碼的訪問。

以上是Java 函數的存取權限修飾符之與 Java 9 模組系統的關係的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn