Memanggil Class Lain Dengan Access Specifier Dalam Java
Di dalam pemrograman java class satu dapat memanggil class yang lain dan dapat menggunakan apa yang terdapat di dalama class yang dipanggil, tentunya ini tergantung dari access specifier.
Sebelumnya kita bahas sedikit tentang accsess specifier, penggunaan control access specifier merupakan dari enkapsulasi yang telah dibahas pada postingan sebelumnya, dengan access specifier ini anda dapat mengatur siapa saja yang dapat mangakses atau merubah nilai suatu member dari objek, dengan demikian anda dapat mencegah kemungkinan penyalahgunaan fungsi objek sendiri. Misalnya anda dapat menentukan bahwa suatu property dari objek tertentu hanya dapat diakses atau diubah melalui seperangkat method yang telah ditentukan saja.
Disini juga kita akan menbuat sebuah method.
Ada 4 buah access specifier
- Public
Berarti bahwa siapapun dapat mengakses member ini, baik code yang ada di dalam class itu sendiri ataupun yang berada di luar class.
- Private
Member yang dideklarasikan sebagai private, hanya dapat di akses oleh internal member dari class tersebut saja
- Protected
Sama seperti private, member ini juga hanya dapat diakses dari class itu sendiri
- Tanpa Access specifier
Untuk member yang tidak dideklarasikan dengan accsess specifier, java akan memperlakukan sama/mirip dengan member lain yang dideklarasikan sebagai public, dengan kata lain ini termasuk public
Contoh program :
Kita buat sebuah class dengan nama Kucing
class Kucing {
public String meong() {
String suara = " Meong meong ";
return suara;
}
}
Lalu kita buat lagi sebuah class untuk eksekusi pertama pada sa’at program dijalankan, misalkan kita buat class dengan nama SuaraKucing
import javax.swing.JOptionPane;
class SuaraKucing {
public static void main(String[] args) {
String suaraHewan = ("");
System.out.println("in Demo class.metode.data");
System.out.println(".........................");
Kucing voice = new Kucing();
suaraHewan = voice.Meong();
JOptionPane.showMessageDialog(null, "Suara Kucing" + "" + suaraHewan);
System.exit(0);
}
}
Penjelasan Program :
Untuk sebagian code yang tidak dijelaskan, karna sebelumnya telah dijelaskan pada postingan yang lain.
Untuk class Kucing
public String Meong() {
code di atas adalah sebuah method dengan nama Meong dengan access specifier public, atrinya bahwa method ini dan atribut yang terdapat di dalamnya dapat dipanggil dari class lain.
String Suara = " Meong meong ";
Code di atas adalah sebuah variable Suara dengan tipe data string dan diberikan nilai Meong meong.
return suara;
code di atas artinga adalah mengembalikan nilai yang di miliki oleh variable suara.
Untuk class SuaraKucing
import javax.swing.JOptionPane;
code di atas adalah untuk mengimport swing message box.
Kucing voice = new Kucing();
Code di atas adlah pembuatan objek baru dengan nama voice untuk menggantikan fungsi Kucing, Kucing disini berarti class Kucing yang telah kita buat sebelumnya.
suaraHewan = voice.meong();
Code di atas untuk pemanggilan method meong.
JOptionPane.showMessageDialog(null, "Suara Kucing" + "" + suaraHewan);
Code di atas untuk menapilkan message box dan menampilkan nilai variable dari method meong yang terdapat di dalam class Kucing
System.exit(0);
Code di atas untuk keluar dari program.
Coba sekarang kamu ganti accsess specifier method meong yang terdapat di dalam class Kucing yang semula public menjadi private, lalu coba jalankan kembali, dan apa yang akan terjadi..??
Pasti class SuaraKucing tidak dapat mengakses method meong yang terdapat di dalam class kucing, karna access specifiernya sudah dig anti menjadi private artinya bahwa method ini tidak dapat di akses dari luar class.
Kembali Ke Beranda Blog