Konstanta Pada Bahasa Program Java

Java mempunyai keyword const yang dapat digunakan untuk mendeklarasikan konstanta. Tetapi dalam best practicenya, atau saran dari Sun Microsystem, konstanta sebaiknya dideklarasikan menggunakan gabungan keyword static dan final.

Modifier static dan final bila digunakan secara bersamaan akan mengakibatkan object yang dideklarasikan menjadi konstanta. Untuk modifier static mengindikasikan bahwa object tersebut menjadi milik class, dan modifier final mengindikasikan bahwa nilai object yang dideklarasikan tidak dapat dirubah.

Untuk permasalahan penamaan dalam aturan convention, nama konstanta harus menggunakan capitalize dan bila menggunakan lebih dari satu kata(multiword) dipisahkan menggunakan underscore(_).

Selain itu, konstanta sebaiknya dideklarasikan dalam interface, karena semua property dalam interface secara default akan bersifat public static final, walaupun dideklarasikan tanpa ketiga keyword tersebut. Untuk contohnya, perhatikan di bawah ini

package com.konstanta;
public interface CustomerDao {
  Long ID = 100l;
  String NAME = "reader";
  String ADDRESS = "jakarta";
}
Kode program diatas artinya : Mendeklarasikan konstanta dengan object ID, NAME, dan ADDRESS dan menginisialisasi object-object tersebut dengan nilai secara berurutan : 10l, “Madi Andi” dan “Palembang”.

Untuk nilai object-object diatas tidak dapat kita rubah, bila memaksakan untuk merubahnya akan menimbulkan erorr ketika dikompilasi. Kode program diatas bila dibuat dalam bentuk class, akan setara dengan class di bawah ini

package com.konstanta;
public class CustomerDao {
  public static final Long ID = 100l;
  public static final String NAME = "reader";
  public static final String ADDRESS = "jakarta";
}
Kode program diatas artinya : Mendeklarasikan konstanta didalam class, dimana harus mendeklarasikan keyword public static final apabila menginginkan property dianggap sebagai konstanta. Untuk lebih memahami, mari diimplementasikan ke dalam kode program, seperti berikut ini

package com.konstanta;
public interface CustomerDao {
  Long ID = 100l;
  String NAME = "reader";
  String ADDRESS = "jakarta";
}
Kode program diatas artinya : Mendeklarasikan konstanta dalam interface, selanjutnya mari dibuat class yang mengimplement interface diatas, seperti berikut ini

package com.konstanta;
public class CustomerDaoImpl implements CustomerDao {
  public static void main(String[] args){
    System.out.println("id customer: " + ID);
    System.out.println("name customer: " + NAME);
    System.out.println("address customer: " + ADDRESS);
  }
}
Kode program diatas artinya : Mendeklarasikan class CustomerDaoImpl yang mengimplement CustomerDao untuk mengakases konstanta yang ada dalam interface CustomerDao.

Untuk mengakses konstant dapat menggunakan nama konstan yang dideklarasikan seperti diatas. Bila kode program diatas dieksekusi keluaran yang dihasilkan seperti berikut

id customer: 100
name customer: reader
address customer: jakarta
Ketika mendeklarasikan konstanta dengan tipe primitive atau String, nilai dari object konstanta akan diketahui oleh compiler pada waktu program dikompilasi. Kemudian compiler mengganti nilai dari object tersebut menjadi nama dari object konstanta untuk digunakan oleh program yang lainnya, proses ini disebut dengan compile-time constant.  

Comments

Popular posts from this blog

Program Penilaian Siswa Menggunakan Java Netbeans

Cout dan Cin pada Program C++