Rumah  >  Artikel  >  Java  >  Bagaimana pengubah akses fungsi Java berkaitan dengan sistem modul Java 9

Bagaimana pengubah akses fungsi Java berkaitan dengan sistem modul Java 9

WBOY
WBOYasal
2024-04-26 08:54:01463semak imbas

Sistem modul Java 9 mengubah maksud pengubah suai akses: pengubah suai awam membenarkan akses modul yang dilindungi membenarkan akses modul pakej yang dieksport mengehadkan akses kepada modul pengubahsuai peribadi hanya membenarkan akses modul yang diisytiharkan;

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

Cara pengubah akses fungsi Java berkaitan dengan sistem modul Java 9

Java 9 memperkenalkan sistem modul, cara baharu untuk mengatur dan membungkus aplikasi Java. Sistem modul memperkenalkan makna baharu kepada pengubah suai akses sedia ada dalam bahasa Java (awam, dilindungi, lalai dan peribadi).

Pengubah Suai Akses

Pengubah suai akses dalam Java tentukan kelas dan pakej yang boleh mengakses kelas, medan atau kaedah. Empat pengubah akses dijelaskan seperti berikut:

  • awam: Boleh diakses oleh semua kelas dan pakej.
  • dilindungi: Boleh diakses oleh semua kelas dan semua subkelas dalam pakej yang sama.
  • lalai (juga dipanggil pakej-peribadi): Hanya boleh diakses untuk kelas dalam pakej yang sama.
  • peribadi: Hanya boleh diakses kepada kelas di mana kelas, medan atau kaedah diisytiharkan.

Sistem Modul

Sistem modul Java 9 membolehkan anda menyusun kod anda ke dalam modul. Modul ialah koleksi unit kompilasi dengan kebergantungan eksplisit dan pakej yang dieksport. Sistem modul menguatkuasakan enkapsulasi dengan mewujudkan kebergantungan antara modul dan pakej.

Pengubah suai akses dan sistem modul

Dalam sistem modul Java 9, peranan pengubah akses telah berubah:

  • awam: Sesuatu kelas, medan atau kaedah boleh diakses terus dari luar modul.
  • dilindungi: Kelas, medan atau kaedah hanya boleh diakses terus dari dalam modul atau daripada modul yang mengeksport pakej.
  • lalai (pakej-peribadi): Kelas, medan atau kaedah hanya boleh diakses daripada modul yang mengeksport pakej.
  • peribadi: Sesuatu kelas, medan atau kaedah hanya boleh diakses daripada modul pengisytiharan.

Kes Praktikal

Pertimbangkan modul contoh berikut:

module demo.module {
    exports demo.package;
}

package demo.package;

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

Dalam contoh ini, pakej demo.package dieksport supaya modul lain boleh mengakses kelas, medan dan kaedah awamnya. demo.package 包被导出,因此其他模块可以访问其公共类、字段和方法。

  • publicMethod 是公开的,可以从任何模块访问。
  • protectedMethod 是受保护的,只能从 demo.module 或导入了 demo.package 包的模块中访问。
  • defaultMethod 是默认的,只能从导入了 demo.package 包的模块中访问。
  • privateMethod 是私有的,只能从 demo.module
publicMethod adalah awam dan boleh diakses daripada mana-mana modul.

protectedMethod dilindungi dan hanya boleh diakses daripada demo.module atau modul yang mengimport pakej demo.package.

defaultMethod ialah lalai dan hanya boleh diakses daripada modul yang mengimport pakej demo.package.

privateMethod adalah peribadi dan hanya boleh diakses daripada demo.module. 🎜🎜🎜🎜Kesimpulan🎜🎜🎜Dengan memahami hubungan antara sistem modul Java 9 dan pengubah suai akses, anda boleh meningkatkan pengkapsulan aplikasi anda dan mengurus akses kepada kod anda. 🎜

Atas ialah kandungan terperinci Bagaimana pengubah akses fungsi Java berkaitan dengan sistem modul Java 9. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn