Public, Private, Protected… Apa Sich
Maksudnya..!!
Yang perlu anda ketehui,
Di dalam java terdapat tiga akses yaitu,private,protected,dan
public tentunya tingkat akses tersebut mempunyai fungsi dan
kegunaan masing-masing.
Untuk ngebedainnya tak jelasin dari koding
langsung aja yach. Penjelasan pertama kalo gak ada private, ato public, ato
protected, pada bahasan ini aku sebut aja Default Package. Biasanya kalo
default package itu bisa diakses di kelas yang sama ama di kelas yang satu
package ama class yang mau diakses. Kalo private cuma bisa diakses oleh
kelasnya sendiri. Kalo public bisa diakses oleh semua kelas. Trus kalo
protected bisa diakses ama kelas sendiri ama kelas yang di package yang beda
asalkan itu subclassnya. Lebih enaknya sih kalo pake contoh kode langsung. Nih
kodenya.
1.Tingkat akses Private
Dengan
menggukanan data dan method dengan tingkat akses private,maka data dan method
tersebut hanya dapat di akses oleh kelas yang di milikinya saja. Modifier
private, menunjukkan bahwa suatu class, method atau variabel hanya dapat
diakses dari dalam kelas tersebut. modifier ini biasanya digunakan untuk kelas,
method, atau variabel yang memang ingin disimpan atau tidak dapat digunakan
oleh kelas yang lain (tidak berguna untuk kelas yang lain).
Keyword Private
Ini adalah file
privateClass.java
package satu;
public class
privateClass{
private static
int kuadrat(int bilangan){
return
bilangan*bilangan;
}
}
class pengakses{
public static void
main (String[] args) {
privateClass a=new
privateClass();
System.out.println
(“Hasil 3 kuadrat = “+a.kuadrat(3));
}
}
Begitu dicompile, maka
akan keluar pesan kesalahan:
kuadrat(int) has
private access in satu.privateClass
Ini adalah file
pengakses1 yang terletak di package yang berbeda tetapi merupakan subclass atau
anak kelas dari privateClass.
package dua;
import
satu.privateClass;
public class
pengakses1 extends satu.privateClass{
static privateClass
a=new privateClass();
public static void
main (String[] args) {
System.out.println
(“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dicompile, akan keluar kode kesalahan:
kuadrat(int) has
private access in satu.privateClass
Ini adalah file
pengakses2 yang terletak pada package yang berbeda tapi bukan termasuk anak
kelas dari privateClass.
package dua;
import
satu.privateClass;
public class
pengakses2 {
static privateClass
a=new privateClass();
public static void
main (String[] args) {
System.out.println
(a.kuadrat(9)); //kuadrat(int) has protected access in satu.privateClass
}
}
Begitu dicompile, akan
keluar pesan kesalahan:
kuadrat(int) has
private access in satu.privateClass
2.Tingkat
akses Protected
Suatu
data atau method yang di deklarasi kan dengan tingkat akses protected dapat
di akses oleh kelas yang di milikinya saja dan juga kelas-kelas yang masih
memiliki keturunan. Modifier protected, digunakan kalau
suatu class, method atau variabel ingin digunakan hanya oleh kelas-kelas yang
satu paket dengan kelas tersebut atau sub kelas dari kelas tersebut baik yang
satu paket atau lain paket.
Keyword Protected
Ini adalah isi file
protectedClass.java
package satu;
public class
protectedClass{
protected static
int kuadrat(int bilangan){
return
bilangan*bilangan;
}
}
class pengakses{
public static void
main (String[] args) {
protectedClass a=new
protectedClass();
System.out.println
(“Hasil 3 kuadrat = “+a.kuadrat(3));
}
}
Output dari program di
atas adalah:
Hasil dari 9 kuadrat
adalah 81
Ini adalah isi file
pengakses1 yang terletak pada package yang berbeda tetapi merupakah subclass
dari class protectedClass. Pada proses compile tidak akan terjadi proses
kesalahan.
package dua;
import satu.protectedClass;
public class
pengakses1 extends satu.protectedClass{
static protectedClass
a=new protectedClass();
public static void
main (String[] args) {
System.out.println
(“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Output dari program di
atas adalah:
Hasil dari 9 kuadrat
adalah 81
Di bawah ini adalah
isi file pengakses2 yang terletak pada package yang berbeda dan bukan subclass
dari class protectedClass.
package dua;
import
satu.protectedClass;
public class pengakses2
{
static protectedClass
a=new protectedClass();
public static void
main (String[] args) {
System.out.println
(a.kuadrat(9)); //error
}
}
Jika program
dicompile, maka akan muncul pesan kesalahan:
kuadrat(int) has
protected access in satu.protectedClass
3.Tingkat akses
Public
Tingkatan public
merupakan kebalikan dari tingkat akses private.data maupun method dapat di
akses oleh semua bagian di dalam program. Modifier public akan membuat class,
method, variabel yang menggunakanya bersifat umum, alias dapat dipanggil oleh
semua kelas. baik dari satu paket yang sama atau berlainan paket. public juga
akan memperbolehkan akses terhadap semua kelas yang diinstan dari kelas
tersebut
Keyword Public
package satu;
public class
publicClass{
public static int
kuadrat(int bilangan){
return
bilangan*bilangan;
}
}
class pengakses{
public static void
main (String[] args) {
publicClass a=new
publicClass();
System.out.println
(“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dijalankan,
outputnya adalah
Hasil dari 9 kuadrat
adalah 81
package dua;
import
satu.publicClass;
public class
pengakses1 extends satu.publicClass{
static publicClass
a=new publicClass();
public static void
main (String[] args) {
System.out.println
(“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dijalankan,
outputnya adalah
Hasil dari 9 kuadrat
adalah 81
package dua;
import
satu.publicClass;
public class
pengakses2 {
static publicClass
a=new publicClass();
public static void
main (String[] args) {
System.out.println
(“Hasil dari 9 kuadrat adalah “+a.kuadrat(9));
}
}
Begitu dijalankan,
outputnya adalah
Hasil dari 9 kuadrat
adalah 81
Tapi,…saya pun mencoba
buat contoh program lain yang berbeda dengan yang di atas yang berkaitan pula dengan private, public, protected,...........
nie codingnya:
nie codingnya:
package mahasiswa;
/**
*
* @author Rudiansyah Hadi Putra
*/
public class Mahasiswa {
private String nama;
private String npm;
private String fakultas;
/**
* @param args the command line arguments
*/
public void setNama(String nama) {
this.nama=nama;
}
public void setNim(String npm){
this.npm=npm;
}
public void setJurusan(String jurusan){
this.fakultas=fakultas;
}
public String getFakultas(){
return fakultas;
}
public void tampilkan(){
System.out.println(“Nama :”+nama+”\n”);
System.out.println(“Npm :”+npm+”\n”);
}
*
* @author Rudiansyah Hadi Putra
*/
public class Mahasiswa {
private String nama;
private String npm;
private String fakultas;
/**
* @param args the command line arguments
*/
public void setNama(String nama) {
this.nama=nama;
}
public void setNim(String npm){
this.npm=npm;
}
public void setJurusan(String jurusan){
this.fakultas=fakultas;
}
public String getFakultas(){
return fakultas;
}
public void tampilkan(){
System.out.println(“Nama :”+nama+”\n”);
System.out.println(“Npm :”+npm+”\n”);
}
public static void main (String [] args){
Mahasiswa siswa = new Mahasiswa();
siswa.setNama(“Rudi”);
siswa.setNpm(“26111483″);
siswa.setFakultas(“ilmu komputer”);
siswa.tampilkan();
System.out.println(“fakultas :”+siswa.getFakultas());
}
}
Mahasiswa siswa = new Mahasiswa();
siswa.setNama(“Rudi”);
siswa.setNpm(“26111483″);
siswa.setFakultas(“ilmu komputer”);
siswa.tampilkan();
System.out.println(“fakultas :”+siswa.getFakultas());
}
}
Nich hasil outputnya:
Nama: Rudiansyah Hadi Putra
Kelas:2KB01
NPM: 26111483
Mata Kuliah: AP3
Dosen: Ary Bima Kurniawan.
Kelas:2KB01
NPM: 26111483
Mata Kuliah: AP3
Dosen: Ary Bima Kurniawan.
hei kawan, karena kita ini mahasiswa gundar, tolong ya blognya di kasih link UG di blog kamu yang berupa widget, seperti
BalasHapus- www.gunadarma.ac.id
- www.studentsite.gunadarma.ac.id dan lain lain
karna link link tersebut mempengaruhui kriteria penilaian mata kuliah soft skill
Selain itu, Yuk kita ikut lomba 10 kategori lomba khusus bagi mahasiswa Universitas Gunadarma. Edisi
Desember2012 ini diperuntukan bagi mahasiswa S1 dan D3. Tersedia 100 pemenang, atau 10 pemenang
untuk setiap kategori. link
http://studentsite.gunadarma.ac.id/news/news.php?stateid=shownews&idn=755
oh iya, kalian nggak mau ketinggalan kan untuk update terhadap berita studentsite dan baak , maka dari itu, yuk pasang RSS di Studentsite kalian.. untuk info lebih lanjut bagaimana cara memasang RSS , silahkan kunjungi link ini
http://hanum.staff.gunadarma.ac.id/Downloads/folder/0.5
makasi :)
makasih yaaa :))
BalasHapus