Terlihat ke paket. Default. Tidak diperlukan pengubah.
Terlihat hanya untuk kelas ( pribadi ).
Terlihat oleh dunia ( publik ).
Dapat dilihat oleh paket dan semua subclass ( dilindungi ).
Variabel dan metode dapat dideklarasikan tanpa pengubah apa pun yang dipanggil. Contoh default:
String name = "john";
public int age(){
return age;
}
Pengubah akses pribadi - pribadi:
Metode, variabel, dan konstruktor yang dideklarasikan pribadi hanya dapat diakses di dalam kelas yang dideklarasikan sendiri. Pengubah akses pribadi adalah tingkat akses yang paling ketat. Kelas dan antarmuka tidak boleh bersifat pribadi.
Variabel yang dideklarasikan pribadi dapat diakses di luar kelas jika metode pengambil publik hadir di kelas.
Menggunakan pengubah pribadi adalah cara utama bahwa suatu objek merangkum dirinya sendiri dan menyembunyikan data dari dunia luar.
Contoh:
Public class Details{
private String name;
public void setName(String n){
this.name = n;
}
public String getName(){
return this.name;
}
}
Pengubah akses publik - publik:
Kelas, metode, konstruktor, antarmuka, dll. Yang dinyatakan publik dapat diakses dari kelas lain. Oleh karena itu bidang, metode, blok yang dideklarasikan di dalam kelas publik dapat diakses dari kelas apa pun yang termasuk ke dalam alam semesta Jawa.
Namun, jika kelas publik yang kami coba akses ada dalam paket yang berbeda, maka kelas publik masih perlu diimpor.
Karena pewarisan kelas, semua metode publik dan variabel dari suatu kelas diwarisi oleh subkelasnya.
Contoh:
public void cal(){
}
Pengubah akses yang dilindungi - dilindungi:
Variabel, metode dan konstruktor yang dinyatakan dilindungi dalam superclass hanya dapat diakses oleh subkelas dalam paket lain atau kelas apa pun di dalam paket kelas anggota yang dilindungi.
Pengubah akses yang dilindungi tidak dapat diterapkan ke kelas dan antarmuka. Metode, bidang dapat dinyatakan terlindungi, namun metode dan bidang dalam antarmuka tidak dapat dinyatakan terlindungi.
Akses yang dilindungi memberi subkelas kesempatan untuk menggunakan metode atau variabel pembantu, sambil mencegah kelas yang tidak terkait mencoba menggunakannya.
class Van{
protected boolean speed(){
}
}
class Car{
boolean speed(){
}
}
private
bersembunyi dari kelas lain dalam paket.public
mengekspos ke kelas di luar paket.protected
adalah versipublic
terbatas hanya untuk subclass.