Rumah Java javaTutorial Bagaimana pengubah akses fungsi Java berkaitan dengan sistem modul Java 9

Bagaimana pengubah akses fungsi Java berkaitan dengan sistem modul Java 9

Apr 26, 2024 am 08:54 AM
java Sistem modul

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() { }
}
Salin selepas log masuk

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 Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Akar Kuasa Dua di Jawa Akar Kuasa Dua di Jawa Aug 30, 2024 pm 04:26 PM

Akar Kuasa Dua di Jawa

Nombor Sempurna di Jawa Nombor Sempurna di Jawa Aug 30, 2024 pm 04:28 PM

Nombor Sempurna di Jawa

Penjana Nombor Rawak di Jawa Penjana Nombor Rawak di Jawa Aug 30, 2024 pm 04:27 PM

Penjana Nombor Rawak di Jawa

Nombor Armstrong di Jawa Nombor Armstrong di Jawa Aug 30, 2024 pm 04:26 PM

Nombor Armstrong di Jawa

Weka di Jawa Weka di Jawa Aug 30, 2024 pm 04:28 PM

Weka di Jawa

Nombor Smith di Jawa Nombor Smith di Jawa Aug 30, 2024 pm 04:28 PM

Nombor Smith di Jawa

Soalan Temuduga Java Spring Soalan Temuduga Java Spring Aug 30, 2024 pm 04:29 PM

Soalan Temuduga Java Spring

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Cuti atau kembali dari Java 8 Stream Foreach?

See all articles