Minggu, 11 November 2012

Pengertian dan Kegunaan public, Protected dan Private.

1. Public
Public digunakan untuk menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain dimanapun.
Public digunakan apabila kita menginginkan semua variable dalam Class tersebut dapat di akses dari Class manapun. Untuk lebih jelasnya kita perhatikan langkah-langkah di bawah ini.

  • Buat Project baru dengan nama Coba1.
  • Masih dalam Package yang sama, kita buat Class baru dengan nama Class Anak, kemudian kita buat methods Sulung dan Methods Bungsu. Seperti tampak pada gambar berikut :
  • Deklarasikan Class Anak pada Methods Main seperti pada gambar :
  • Compile program tersebut sehingga muncul tampilan seperti pada gambar :

Contoh Program
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

 2. Protected
 Protected di gunakan untuk Menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain yang berada dalam satu package atau kelas lain tersebut merupakan turunannya.
Fungsi Protected ini sama dengan Public, hanya dapat digunakan dalam Class yang sama. Untuk lebih jelasnya, coba kita ganti Public menjadi Protected pada Methods di atas kemudian compile program tersebut.

Contoh methot 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. Private
 Private digunakan untuk  Menyatakan bahwa kelas tersebut tidak dapat diakses sama sekali oleh kelas lain bahkan juga tidak dapat diturunkan.
Sedangkan Private hanya dapat digunakan dalam Class yang sama saja. Untuk lebih jelasnya coba gantiPublic menjadi Private kemudian compile program tersebut.


Contoh methot  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


Sumber Referensi :

6 komentar: