1. Static (satu-satunya*)
Selama ini, yang kita ketahui adalah suatu variabel atau method diasosiasikan dan diakses melalui suatu instance dari kelas. Nah, sekarang, kita akan belajar tentang hal yang lain, yaitu static modifier yang hidup dalam kelas itu sendiri dan dishare ke seluruh instance dari kelas tersebut. (Pat Niemeyer,Jonathan Knudsen,Learning JavaTM, 2nd Edition, Chapter 5). (semua instance dari class yang sama mempunyai atribut / method yang bersifat milik bersama)(Unknown, *,Pemrograman Berbasis Obyek, “Advanced Class Features I”, 34 ). Variabel yang dideklarasikan static disebut sebagai variabel static atau variabel class. Begitupun juga terhadap method, disebut method static atau method kelas. Modifier static digunakan untuk variabel, method, dan inner class (tentang inner class akan dibahas lebih lanjut ☺).
Contoh :
class Sepeda{
//atribut static diinisialisasi...
static int jmlRoda = 2;
}
Sekarang, kita coba tampilkan member static tersebut…
class TesStatic{
public static void main(String args[]){
//instansiasi pertama :)
Sepeda motor = new Sepeda();
motor.jmlRoda =2;
System.out.println("Jumlah Roda Motor = "+motor.jmlRoda);
//instansiasi kedua :)
Sepeda becak = new Sepeda();
becak.jmlRoda = 3;
System.out.println("Jumlah Roda Becak = "+becak.jmlRoda);
// apa yang terjadi ketika objek motor dipanggil lagi ...
System.out.println("Jreng..jreng...,apa yang terjadi pada jumlah roda motor...");
System.out.println("Jumlah Roda Motor = "+motor.jmlRoda);
}
}
Jika kita Compile dan Run, hasilnya akan seperti ini :
F:\data samson\My Dedication\kumpulanmodul\Java>javac TesStatic.java
F:\data samson\My Dedication\kumpulanmodul\Java>java TesStatic
Jumlah Roda Motor = 2
Jumlah Roda Becak = 3
Jreng..jreng...,apa yang terjadi pada jumlah roda motor...
Jumlah Roda Motor = 3
Dari hasil di atas terlihat bahwa atribut jmlRoda dari objek motor berubah menjadi 3, karena jmlRoda telah diubah menjadi 3 oleh objek becak, dari sini jelas bahwa dengan adanya modifier static, berarti member itu milik kelas. Yang dimaksud static itu satu-satunya* bukan berarti kita hanya bisa mendeklarasikan satu member static, tapi karena apabila terjadi perubahan pada member suatu kelas, maka itu akan berlaku pada semua instance yang ada.
Ada satu hal lain lagi tentang member static, yaitu kita bisa saja memanggil member static tanpa harus menginstansiasi dulu, contoh :
class TesStatic2 {
public static void main(String args[]){
//memanggil langsung ke atributnya...
Sepeda.jmlRoda = 2;
System.out.println("Jumlah roda sepeda = "+Sepeda.jmlRoda);
}
}
2. Final (tidak berubah)
Keyword Final bisa berlaku di class, variabel, maupun method. Jika ia menempel pada class, maka ia tidak bisa dibuat subclass, jika pada method, tidak bisa dioverride, jika pada variabel, maka bersifat konstan.
Contoh pada variabel:
class Hitung{
final double phi = 3.14;
int jari2;
Hitung(int jari2){
this.jari2 = jari2;
}
double Luas(){
return jari2*phi;
}
public static void main(String args[]){
Hitung lingkaran = new Hitung(7);
////iilllleeggaall aacccceessss......
lliinnggkkaarraann..pphhii == 33..1155;; ////iilllleeggaall......
System.out.println(lingkaran.Luas());
}
}
Jika kita compile, maka akan tampil pesan kesalahan :
F:\data samson\My Dedication\kumpulanmodul\Java>javac Hitung.java
Hitung.java:12: cannot assign a value to final variable phi
lingkaran.phi = 3.15; //illegal...
^
1 error
Dari sini jelas bahwa variabel yang diberi nilai final bersifat konstan, tidak boleh dan tidak bisa berubah.
Contoh pada class :
final class Tiang{
int tinggi;
}
class Tower extends Tiang{
}
Class Tiang mempunyai modifier final, jadi tidak bisa dibuat subclass, dan jika kita memaksa untuk melakukan pewarisan seperti di atas, maka akan terjadi pesan kesalahan :
F:\data samson\My Dedication\kumpulanmodul\Java>javac Tower.java
Tower.java:5: cannot inherit from final Tiang
class Tower extends Tiang{
^
1 error
Terimakasih..
Label:
Java,
Java Moklet
STATIC vs FINAL
Zacky Andritera
Sabtu, 03 Desember 2011
Langganan:
Posting Komentar (Atom)
Labels
- Attitude (1)
- Java (3)
- Java Moklet (19)
- JAVA Project (4)
Blog Archive
Popular Posts
-
Beberapa hari terakhir ini, gw ditanyain terus tentang caranya connect java swing ke jasper report. Dan konyolnya, gw juga udah lupa caran...
-
Pada postingan sebelumnya, kita telah membahas cara membuat IPK Counter tanpa tampilan antarmuka grafis (GUI), kali ini kita akan membuat ...
-
Tujuan Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered ketika user berinteraksi dengan aplikasi GUI Anda. Setel...
-
Seorang programmer tentu sudah terbiasa memandang suatu aplikasi ataupun kelas dan interface referensi (API) sebagai suatu modul yang terbun...
-
1. Static (satu-satunya*) Selama ini, yang kita ketahui adalah suatu variabel atau method diasosiasikan dan diakses melalui suatu instance ...
-
1. Abstract (Sesuatu yang masih belum jelas) Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstact class digu...
-
buat koneksiin java dengan database mysql pertama-tama kita buat dulu class java dengan nama DatabaseConnection, Ingat, nama class gak bole...
-
Kelas anonimous merupakan kelas yang dideklarasikan tanda nama, biasanya kelas ini dibuat ketika mendeklarasikan sebuah variabel. Contoh ...
-
Apa itu swing java ? Swing Java adalah salah satu pemrograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java ter...
-
“ Swing ” adalah nama kode dari proyek yang mendevelop komponen baru . Bukan merupakan nama resmi . Namun nama ini lebih seri...
Diberdayakan oleh Blogger.
0 komentar:
Posting Komentar