Pengubah suai akses dalam Java digunakan untuk mengehadkan skop akses kelas, antara muka, medan dan kaedah masing-masing mewakili tahap kawalan akses yang berbeza. Terdapat empat pengubah akses dalam Java: awam, dilindungi, lalai dan peribadi.
awam ialah pengubah suai akses paling terbuka dan digunakan untuk menentukan tahap akses awam. Kelas, antara muka, medan dan kaedah yang diubah suai oleh orang ramai boleh diakses dari mana-mana sahaja.
Sebagai contoh, kod berikut mentakrifkan kelas awam:
public class MyClass { // ... }
Kelas ini boleh diakses dari mana-mana sahaja. Selain itu, jika kaedah atau medan diisytiharkan awam, ia boleh diakses dari mana-mana sahaja. Contohnya:
public class MyClass { public String name; public void sayHello() { System.out.println("Hello, world!"); } }
dilindungi digunakan untuk menentukan tahap akses yang dilindungi. Kelas, medan dan kaedah yang diubah suai dengan dilindungi boleh diakses oleh kelas lain dalam pakej ini, serta oleh subkelas.
Sebagai contoh, kod berikut mentakrifkan kelas yang dilindungi:
package mypackage; protected class MyProtectedClass { // ... }
Kelas ini hanya boleh diakses oleh kelas lain dalam pakej mypackage dan oleh subkelas yang mewarisi MyProtectedClass. Selain itu, jika kaedah atau medan diisytiharkan dilindungi, ia juga boleh diakses oleh kelas lain dalam pakej yang sama, serta oleh subkelas yang mewarisi kelas ini. Contohnya:
package mypackage; public class MyClass { protected String name; protected void sayHello() { System.out.println("Hello, world!"); } }
Nama dan kaedah sayHello kelas ini boleh diakses oleh kelas lain dalam pakej mypackage, serta oleh subkelas yang mewarisi MyClass.
lalai ialah pengubah suai akses lalai dalam Java, ia juga dipanggil kawalan akses peribadi peringkat pakej. Jika kelas, antara muka, medan atau kaedah tidak menggunakan sebarang pengubah suai akses, maka ia adalah tahap akses lalai. Tahap akses lalai bermakna akses hanya tersedia dalam pakej yang sama.
Sebagai contoh, kod berikut mentakrifkan kelas dengan tahap akses lalai:
package mypackage; class MyDefaultClass { // ... }
Kelas ini hanya boleh diakses oleh kelas lain dalam pakej mypackage. Di samping itu, jika kaedah atau medan tidak menggunakan sebarang pengubah suai akses, maka ia juga merupakan tahap akses lalai. Contohnya:
package mypackage; public class MyClass { String name; void sayHello() { System.out.println("Hello, world!"); } }
Nama dan kaedah sayHello kelas ini hanya boleh diakses oleh kelas lain dalam pakej mypackage.
peribadi ialah pengubah suai akses yang paling ketat dan digunakan untuk menentukan tahap akses peribadi. Medan dan kaedah yang diubah suai oleh peribadi hanya boleh diakses dalam kelas di mana ia ditakrifkan.
Sebagai contoh, kod berikut mentakrifkan kelas persendirian:
public class MyClass { private String name; private void sayHello() { System.out.println("Hello, world!"); } }
Nama dan kaedah sayHello kelas ini hanya boleh diakses di dalam kelas MyClass.
Atas ialah kandungan terperinci Cara menggunakan pengubah suai akses dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!