Một constant là biến có giá trị không thể thay đổi sau khi đã gán. Java không có built-in support cho constants.
Một constant có thể làm chương trình dễ đọc và hiểu hơn bởi người khác. Ngoài ra, constant được cache bởi JVM cũng như ứng dụng của chúng ta, nên dùng constant có thể cải thiện hiệu suất.
Để định nghĩa một biến là constant, chỉ cần thêm từ khóa "final" trước khai báo biến.
Cú pháp
final float pi = 3.14f;
Câu lệnh trên khai báo biến float "pi" là constant với giá trị 3.14f. Chúng ta không thể thay đổi giá trị của "pi" tại bất kỳ thời điểm nào trong chương trình. Sau này nếu thử làm bằng câu lệnh như "pi=5.25f", Java sẽ ném lỗi ngay tại compile time. Không bắt buộc phải gán giá trị constants ngay lúc khởi tạo.
Trong ví dụ dưới, chúng ta có thể định nghĩa primitive data type (byte, short, int, long, float, double, boolean và char) variables thành constants bằng cách thêm từ khóa "final" khi khai báo biến.
Ví dụ
public class ConstantsDemo {
public static void main(String args[]) {
final byte var1 = 2;
final byte var2;
var2 = -3;
final short var3 = 32;
final short var4;
var4 = -22;
final int var5 = 100;
final int var6;
var6 = -112;
final long var7 = 20000;
final long var8;
var8 = -11223;
final float var9 = 21.23f;
final float var10;
var10 = -121.23f;
final double var11 = 20000.3223;
final double var12;
var12 = -11223.222;
final boolean var13 = true;
final boolean var14;
var14 = false;
final char var15 = 'e';
final char var16;
var16 = 't';
// Displaying values of all variables
System.out.println("value of var1 : "+var1);
System.out.println("value of var2 : "+var2);
System.out.println("value of var3 : "+var3);
System.out.println("value of var4 : "+var4);
System.out.println("value of var5 : "+var5);
System.out.println("value of var6 : "+var6);
System.out.println("value of var7 : "+var7);
System.out.println("value of var8 : "+var8);
System.out.println("value of var9 : "+var9);
System.out.println("value of var10 : "+var10);
System.out.println("value of var11 : "+var11);
System.out.println("value of var12 : "+var12);
System.out.println("value of var13 : "+var13);
System.out.println("value of var14 : "+var14);
System.out.println("value of var15 : "+var15);
System.out.println("value of var16 : "+var16);
}
}Kết quả
value of var1 : 2 value of var2 : -3 value of var3 : 32 value of var4 : -22 value of var5 : 100 value of var6 : -112 value of var7 : 20000 value of var8 : -11223 value of var9 : 21.23 value of var10 : -121.23 value of var11 : 20000.3223 value of var12 : -11223.222 value of var13 : true value of var14 : false value of var15 : e value of var16 : t