Block Static di Java ?

Saya pernah membuat aplikasi database rental mobil sederhana dengan bahasa Pascal. Pada aplikasi tersebut terdapat akses langsung ke database saat suatu form dipanggil. Itulah salah satu fungsi dari blok static pada bahasa java. Blok static ini akan lebih dahulu dieksekusi bila suatu kelas dipanggil. Method – method lain akan dieksekusi seteleh blok static dilakukan. Contohnya bisa dilihat di code ini :

public class BlockStaticDemo {
	static double x;
	static double y;
	
	static{
		System.out.println("Oy..saya dieksekusi terlebih dahulu lho...");
		y = Math.log10(100);
		x = Math.log10(1000);
	}
	
	BlockStaticDemo(String kalimat){
		System.out.println(kalimat);
	}
}
public class Run {
	public static void main(String args[]){
		BlockStaticDemo a = new BlockStaticDemo("Oy..saya dieksekusi di konstruktor lho...");
		
		System.out.println("Hasil log 100 adalah : " +a.y);
		System.out.println("Hasil log 1000 adalah : " +a.x);
	}
}

Hasil Keluaran dari code diatas adalah :

Oy..saya dieksekusi terlebih dahulu lho...
Oy..saya dieksekusi di konstruktor lho...
Hasil log 100 adalah : 3.0
Hasil log 1000 adalah : 2.0

Dari kode diatas kita dapat ketahui bahwa saat pemanggilan class BlockStaticDemo dengan perintah :

BlockStaticDemo a = new BlockStaticDemo(“Oy..saya dieksekusi di konstruktor lho...”);

Dengan kode itu berarti blok static akan dieksekusi terlebih dahulu. Kita lihat bahwa keluaran hasil memunculkan kalimat Oy..saya dieksekusi terlebih dahulu lho… daripada kalimat “Oy..saya dieksekusi di konstruktor lho…”
Dan setelah itu menghitung log dari 100 dan 1000.
Sampai situ kita bisa membuat kode untuk koneksi ke database setelah pemanggilan suatu kelas.
Moga bermanfaat ya…

3 thoughts on “Block Static di Java ?

Silahkan Komentar...

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s