Rumah> Java> javaTutorial> teks badan

Hubungan antara pengubah akses fungsi Java dan akses medan

王林
Lepaskan: 2024-04-25 18:09:02
asal
960 orang telah melayarinya

Pengubah akses fungsi Java mempengaruhi aksesnya kepada medan dalam kelas: fungsi awam boleh mengakses semua medan, tanpa mengira kebenaran akses medan. Fungsi yang dilindungi hanya boleh mengakses medan dengan akses yang dilindungi atau awam. Fungsi lalai hanya boleh mengakses medan dengan akses lalai atau awam. Fungsi peribadi hanya boleh mengakses medan dengan akses peribadi.

Java 函数的访问权限修饰符之与字段访问的联系

Sambungan antara pengubah akses fungsi Java dan akses medan

Pengubah suai akses fungsi Java boleh menyekat akses mereka kepada medan dalam kelas. Memahami sambungan ini adalah penting untuk mengekalkan keselamatan dan kebolehselenggaraan kod anda.

Pengubah kebenaran akses

Terdapat empat pengubah kebenaran akses fungsi dalam Java:

  • awam: Benarkan semua kelas mengakses fungsi.
  • dilindungi: Benarkan kelas dan subkelas yang dimiliki oleh pakej yang sama untuk mengakses fungsi.
  • default(tiada pengubah suai): Hanya kelas yang dimiliki oleh pakej yang sama dibenarkan untuk mengakses fungsi tersebut.
  • peribadi: Benarkan kelas itu sendiri mengakses fungsi.

Pautan Akses Medan

Pengubah akses fungsi mempengaruhi aksesnya kepada medan dalam kelas:

  • Jika fungsiawam, ia boleh mengakses semua medan, tanpa mengira hak akses medan.
  • Jika sesuatu fungsidilindungi, hanya medan dengan hak aksesdilindungiatauawamboleh diakses.
  • Jika fungsi adalahlalai, hanya medan dengan akseslalaiatauawamboleh diakses.
  • Jika fungsi itupribadi, hanya medan dengan aksespribadisahaja boleh diakses.

Kes Praktikal

Pertimbangkan kelas berikut:

public class MyClass { private int privateField; protected int protectedField; int defaultField; public int publicField; public void publicMethod() { // 可以访问所有字段 System.out.println(privateField); System.out.println(protectedField); System.out.println(defaultField); System.out.println(publicField); } protected void protectedMethod() { // 可以访问 protected 和 public 字段 System.out.println(protectedField); System.out.println(publicField); } void defaultMethod() { // 可以访问 default 和 public 字段 System.out.println(defaultField); System.out.println(publicField); } private void privateMethod() { // 只能访问 private 字段 System.out.println(privateField); } }
Salin selepas log masuk

Dalam kes ini:

  • publicMethod()boleh mengakses semua medan kerana ia adalah kaedah awam.publicMethod()可以访问所有字段,因为它是公共方法。
  • protectedMethod()可以访问protectedFieldpublicField,因为它是受保护方法。
  • defaultMethod()可以访问defaultFieldpublicField,因为它是默认为包内可见的方法。
  • privateMethod()只能访问privateField
  • protectedMethod()mempunyai akses kepada protectedFielddan publicFieldkerana ia adalah kaedah yang dilindungi.
defaultMethod()mempunyai akses kepada defaultFielddan publicFieldkerana kaedah ini boleh dilihat dalam pakej secara lalai. privateMethod()hanya boleh mengakses privateFieldkerana ia adalah kaedah peribadi.

Atas ialah kandungan terperinci Hubungan antara pengubah akses fungsi Java dan akses medan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Artikel terbaru oleh pengarang
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!