Definisi ( Apasih ) Modifier (itu ?) :
- Modifier digunakan untuk mengatur hak akses antar/inter class dan member class. Modifier terdiri dari private, protected, public, dan internal. Ada istilah nonmodifier, kondisi ini memungkinkan class dapat mengakses class lainnya yang berada dalam satu package tetapi tidak berlaku pada sub class.(modul praktikum OOP TI Unpad 2016).
- Modifiers are keywords that you add to those definitions to change their meanings (Tutorialspoint).
- Sebuah gerbang akses kedalam apa yang di modifierkannya (saya sendiri hehe).
hmmm, sebenarnya saya kurang tau yang benar tabel 1 atau 2. Mungkin nanti saya akan tanyakan ke beberapa sumber hehe:
![]() |
Tabel 1 : Modifier |
![]() |
Tabel 2 : Modifier |
idenya kita buat 2 class (satu class parent, satu class child):
class Induk { int umur; public Induk(){ this.umur=45; } public String toString(){ //modifier public; return ("Umur : "+this.umur); } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.umur+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); } }
nah, bagaimana kalau kita biat method yang modifiernya private :
maka, akan muncul pesan error sedemikian :class Induk { int umur; //Modifier => non-modifier public Induk(){ this.umur=45; } public String toString(){ return ("Umur : "+this.umur); } private String cetakInduk(){ return "ini induk seharusnya ngga boleh kecetak"; } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.umur+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); System.out.println();hehe.cetakInduk(); } }
isi errornya :
Modifier.java:30: error: cannot find symbolbagaimana kalau protected :
hehe.cetakInduk();
^
symbol: method cetakInduk()
location: variable hehe of type Anak
1 error
dan hasilnya bisa dikompile dan dijalankan, berikut hasilnya :class Induk { int umur; //Modifier => non-modifier public Induk(){ this.umur=45; } public String toString(){ return ("Umur : "+this.umur); } protected String cetakInduk(){ return "ini induk seharusnya ngga boleh kecetak"; } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.umur+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); System.out.println(hehe.cetakInduk()); } }
percobaan, terakhir bagaimana kalau non-modifier :
class Induk { int umur; public Induk(){ this.umur=45; } public String toString(){ return ("Umur : "+this.umur); } String cetakInduk(){ return "ini induk seharusnya ngga boleh kecetak"; } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.nama+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); System.out.println(hehe.cetakInduk()); } }
dan, ternyata masih bisa dikompile dan dijalankan, hasil :
kesimpulan, bahwa akses untuk subclass bisa dalam bentuk protected dan public. terimakasih
Posting Komentar untuk "Modifier dalam Java"
Berilah komentar, saran, dan kritik dengan bijak