ตัวแปร final สามารถกำหนดค่าเริ่มต้นได้อย่างชัดเจนเพียงครั้งเดียว ตัวแปรอ้างอิงที่ประกาศเป็น final ไม่สามารถกำหนดให้อ้างอิงไปยังออบเจ็กต์ที่แตกต่างกันได้
อย่างไรก็ตาม ข้อมูลภายในออบเจ็กต์สามารถเปลี่ยนแปลงได้ ดังนั้น สถานะของออบเจ็กต์สามารถเปลี่ยนแปลงได้ แต่ไม่ใช่การอ้างอิง
กับตัวแปร ตัวปรับ final modifier มักใช้ร่วมกับ static เพื่อทำให้ค่าคงที่เป็นตัวแปรคลาส (class variable)
ตัวอย่าง
public class Test { final int value = 10; // ต่อไปนี้เป็นตัวอย่างการประกาศค่าคงที่: public static final int BOXWIDTH = 6; static final String TITLE = "Manager"; public void changeValue() { value = 12; // จะให้ข้อผิดพลาด } }