بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
Di postingan sebelumnya kita telah belajar mengenai CONSTRUCTOR. kali ini kita akan belajar tentang Access Modifier dan Keyword STATIC by practice tentunya. oke langsung buat 2 buah package baru untuk memudahkan pemahaman kita tentang materi postingan ini. beri nama masing-masing package "AccessModifier_dan_KeywordSTATIC" dan "AccessModifier_dan_keywordSTATIC2" atau terserah anda. kemudian buat 2 class baru di package pertama dengan nama "Akses" sebagai main classnya dan satu class lagi dengan nama misal saja 'BelajarKeywordStatic'. juga buat 2 class baru di package kedua dengan nama "Akses" sebagai main classnya dan satu class lagi dengan nama misal saja 'Student' atau terserah anda. kemudian masukkan kode program berikut di masing-masing class tersebut:
Code di Class BelajarKeywordStatic (Package pertama):
package AccessModifier_dan_KeywordSTATIC;
public class BelajarKeywordStatic {
static String ibu = "Siti Imro'atul K"; //variable diberi static
static int umur=50;
String pekerjaan;
public static void tanyaNama(){ //karena method diberi Static,
System.out.println("nama ibu = " +ibu); //maka utk dpt mengakses data "ibu" perlu di kasi static jg
}
//
public static int tanyaUmur(){
int hasilUmur = --umur;
System.out.println("Umur ibu = " +umur);
return umur;
}
}
Code di Class Akses (Package pertama):
package AccessModifier_dan_KeywordSTATIC;
import AccessModifier_dan_keywordSTATIC2.Student; //import class2 di package lain
public class Akses {
public static void main(String[] args){
String batas="========================================mulai belajar keyword STATIC=============================================";
Student newObject = new Student();
System.out.println("warna kulit = " +newObject.warnaKulit); //warna kulit bisa diakses dr package ini karena public
newObject.ultah(100);
newObject.keTuaan();
System.out.println(batas);
//keyword Static
BelajarKeywordStatic.tanyaNama(); //naahh,... pemanggilannya tak perlu lg bikin objek baru lg
BelajarKeywordStatic.tanyaUmur(); //tinggal panggil Class nya lalu data/method yg mau ditampilkan
}
}
Code di Class Student (Package kedua):
package AccessModifier_dan_keywordSTATIC2;
public class Student {
protected String nama = "dzaki faizal m"; //bisa diakses di 1 package, class ini, dan class turunan
private int umur = 99; //bisa diakses di class ini aja
int tinggi = 170; //tanpa hak akses (default). cuma bisa diakses di 1 package yg sama dan class ini aja.
public final String warnaKulit = "merah jambu"; //bisa diakses di semua
private String batas="==============================================================================================";
public int ultah(int umur){ //agar private umur bisa diakses keluar maka saya bikin method public
this.umur = umur; //private hanya bisa diakses di class ini aja
System.out.println("ini ultah yg ke-" +umur);
return umur;
}
//lagi
public void keTuaan(){
System.out.println(batas);
System.out.println("umur dzaki " +umur +" tahun");
System.out.println("bikin method biar bisa akses private dr luar class");
}
}
Code di Class Akses (Package kedua):
package AccessModifier_dan_keywordSTATIC2;
public class Akses {
public static void main(String[] args){
Student newObjek = new Student();
System.out.println(newObjek.nama +" tinggi = " + newObjek.tinggi); //nama dan tinggi masi bisa diakses dr class lain dlm satu package krn (protected & default)
}
}
/** * macam access modifier:
* 1. tanpa hak akses = hanya dpt diakses di 1 package dan class itu sendiri (tiap kita bikin method atau variable tanpa 2,3,4 scr default dah pake ini)
* 2. private = hanya di class sendiri aja
* 3. public = bisa diakses disemua
* 4. protected = di 1 package, class itu, dan di sub2 kelas(class2 turunannya)
* * ==> yg bisa dikasi hak akses = variable, method, class */
/** * Kegunaan dan aturan2 static = *
1. Atribut/variable, method, dan inner class(nested Class) yg udah dikasi Static * maka utk memanggilnya di Class lain ga perlu bikin2 object baru lg(langsung bisa diakses) *
2. agar suatu data dlm (variable, method, dan inner class) yg dikasi Static dpt diakses, maka data tersebut jg harus diberi keyword Static */
ٱلْـحَـمْـدُ للهِ
Post a Comment