ค่าคงที่ใน Java
ตัวแปรคงที่คือตัวแปรที่มีค่าคงที่และมีเพียงสำเนาเดียวที่มีอยู่ในโปรแกรม เมื่อคุณประกาศตัวแปรคงที่และกำหนดค่าให้กับตัวแปรนั้น คุณจะไม่สามารถเปลี่ยนค่าของตัวแปรนั้นได้อีกตลอดทั้งโปรแกรม
ไม่รองรับค่าคงที่ในภาษา C ใน Java (โดยตรง) แต่คุณยังสามารถสร้างค่าคงที่ได้โดยการประกาศตัวแปรสแตติกและค่าสุดท้าย
-
เมื่อคุณประกาศตัวแปรสแตติกแล้ว ตัวแปรนั้นจะถูกโหลดเข้าสู่หน่วยความจำในเวลาคอมไพล์ นั่นคือมีเพียงสำเนาเดียวเท่านั้นที่มีให้
-
เมื่อคุณประกาศตัวแปรขั้นสุดท้ายแล้ว คุณจะไม่สามารถแก้ไขค่าของตัวแปรได้อีก
ตัวอย่าง
class Data { static final int integerConstant = 20; } public class ConstantsExample { public static void main(String args[]) { System.out.println("value of integerConstant: "+Data.integerConstant); } }
ผลลัพธ์
value of integerConstant: 20
ตัวแปรสุดท้ายใน Java
เมื่อคุณประกาศตัวแปรขั้นสุดท้ายแล้ว คุณจะไม่สามารถเปลี่ยนค่าได้ หากคุณพยายามทำเช่นนั้น ข้อผิดพลาดในการคอมไพล์จะถูกสร้างขึ้น
ตัวอย่าง
public class FinalExample { public static void main(String args[]) { final int num = 200; num = 2544; } }
ผลลัพธ์
FinalExample.java:4: error: cannot assign a value to final variable num num = 2544; ^ 1 error
ความแตกต่างหลัก ระหว่างตัวแปรสุดท้ายและค่าคงที่ (คงที่และสุดท้าย) คือ หากคุณสร้างตัวแปรสุดท้ายโดยไม่มีคำหลักแบบคงที่ แม้ว่าค่าของตัวแปรนั้นจะไม่สามารถแก้ไขได้ สำเนาของตัวแปรจะถูกสร้างขึ้นทุกครั้งที่คุณสร้างวัตถุใหม่ โดยที่ค่าคงที่ไม่สามารถแก้ไขได้และมีเพียงสำเนาเดียวตลอดทั้งโปรแกรม ตัวอย่างเช่น ลองพิจารณาโปรแกรม Java ต่อไปนี้
ตัวอย่าง
class Data { final int integerConstant = 20; } public class ConstantExample { public static void main(String args[]) { Data obj1 = new Data(); System.out.println("value of integerConstant: "+obj1.integerConstant); Data obj2 = new Data(); System.out.println("value of integerConstant: "+obj2.integerConstant); } }
ผลลัพธ์
value of integerConstant: 20 value of integerConstant: 20
ที่นี่ เราได้สร้างตัวแปรสุดท้ายและพยายามพิมพ์ค่าของมันโดยใช้สองวัตถุ ค่าความคิดของตัวแปรจะเท่ากันทั้งสองกรณี เนื่องจากเราใช้วัตถุที่แตกต่างกันสำหรับแต่ละวัตถุ จึงเป็นสำเนาของตัวแปรจริง
ตามคำจำกัดความของค่าคงที่ คุณต้องมีสำเนาตัวแปรเดียวตลอดทั้งโปรแกรม (คลาส)
ดังนั้น ในการสร้างค่าคงที่เป็นคำจำกัดความของ pert คุณต้องประกาศให้เป็นค่าคงที่และค่าสุดท้าย