โปรแกรมแก้ไข Downcodes นำเสนอคำอธิบายโดยละเอียดเกี่ยวกับวิธีการต่างๆ ในการกำหนดค่าคงที่ใน Java บทความนี้จะเจาะลึกวิธีการทั่วไปหลายวิธีในการกำหนดค่าคงที่ใน Java รวมถึงการใช้คีย์เวิร์ด `final` การสร้างคลาสที่ไม่เปลี่ยนรูป การใช้ประเภทการแจงนับและรูปแบบอินเทอร์เฟซคงที่ ฯลฯ และวิเคราะห์ข้อดี ข้อเสีย และแนวปฏิบัติที่ดีที่สุดเพื่อช่วยคุณเลือก วิธีการที่เหมาะสมกับความต้องการของโครงการของคุณมากที่สุดและปรับปรุงความสามารถในการอ่านและบำรุงรักษาโค้ด บทความนี้ยังมีคำตอบสำหรับคำถามที่พบบ่อยเพื่อช่วยให้คุณเชี่ยวชาญทักษะของคำจำกัดความคงที่ของ Java ได้อย่างรวดเร็ว
มีสองวิธีหลักในการกำหนดค่าคงที่ใน Java: การใช้คีย์เวิร์ดสุดท้ายและโดยการสร้างคลาสที่ไม่เปลี่ยนรูป ค่าคงที่คือเอนทิตีที่ใช้ในการเขียนโปรแกรมเพื่อแสดงค่าที่ไม่สามารถเปลี่ยนแปลงได้ ในภาษาชวา ค่าคงที่มักจะแสดงด้วยตัวพิมพ์ใหญ่ทั้งหมด โดยมีคำคั่นด้วยเครื่องหมายขีดล่าง ใช้คีย์เวิร์ดสุดท้ายเพื่อสร้างตัวแปรที่ไม่สามารถเปลี่ยนแปลงได้ เมื่อกำหนดค่าเริ่มต้นแล้ว จะไม่อนุญาตให้กำหนดค่าอื่น การสร้างคลาสที่ไม่เปลี่ยนรูปหมายความว่าเมื่ออินสแตนซ์ของคลาสถูกสร้างขึ้น คุณสมบัติใดๆ ของมันจะไม่สามารถเปลี่ยนแปลงได้ ซึ่งโดยปกติจะทำได้โดยการตั้งค่าตัวแปรสมาชิกทั้งหมดของคลาสให้เป็นขั้นสุดท้ายและไม่ได้จัดเตรียมวิธีการแก้ไขไว้
ตอนนี้เราจะเน้นที่การอธิบายการใช้คำสำคัญสุดท้ายเพื่อกำหนดค่าคงที่ คีย์เวิร์ดสุดท้ายสามารถใช้กับตัวแปร วิธีการ และคลาสได้ เมื่อใช้กับตัวแปร ค่าของตัวแปรจะไม่สามารถเปลี่ยนแปลงได้ กล่าวคือ จะกลายเป็นค่าคงที่ ตัวแปรที่ประกาศขั้นสุดท้ายจะต้องเริ่มต้นได้เมื่อกำหนดหรือในตัวสร้าง และไม่สามารถกำหนดค่าได้ในภายหลัง ตัวอย่างเช่น public static Final String COMPANY_NAME = Tech Corp; หลังจากการประกาศดังกล่าว COMPANY_NAME จะทำหน้าที่เป็นค่าคงที่ และค่าของมันไม่สามารถเปลี่ยนแปลงได้ในขณะที่โปรแกรมกำลังทำงาน
วิธีทั่วไปที่สุดในการกำหนดค่าคงที่ในคลาสคือการประกาศตัวแปรให้เป็นค่าคงที่สาธารณะขั้นสุดท้าย สาธารณะหมายความว่าคลาสภายนอกใดๆ สามารถเข้าถึงค่าคงที่นี้ได้ สแตติกหมายความว่าสามารถเข้าถึงได้โดยไม่ต้องสร้างอินสแตนซ์ และรับประกันขั้นสุดท้ายว่าตัวแปรไม่เปลี่ยนรูป
ค่าคงที่คลาสสาธารณะ {
สตริงสุดท้ายคงที่สาธารณะ APPLICATION_NAME = แอปพลิเคชันของฉัน;
int สาธารณะคงสุดท้าย VERSION_CODE = 1;
-
เมื่อใช้คีย์เวิร์ดสุดท้ายเพื่อกำหนดค่าคงที่ คุณควรปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด เช่น ตรวจสอบให้แน่ใจว่าการตั้งชื่อมีความชัดเจน เข้าใจง่าย และเกี่ยวข้องกับฟังก์ชัน นอกจากนี้ คุณควรใส่ใจเพื่อหลีกเลี่ยงการสูญเสียความยืดหยุ่นที่เกิดจากการใช้มากเกินไป คำหลักสุดท้าย
ในการสร้างคลาสที่ไม่เปลี่ยนรูป คุณต้องแน่ใจว่าตัวแปรสมาชิกทั้งหมดของคลาสนั้นเป็นที่สิ้นสุด และคลาสนั้นจะต้องได้รับการประกาศขั้นสุดท้ายเพื่อป้องกันไม่ให้คลาสอื่นสืบทอดและเปลี่ยนแปลงคุณสมบัติของคลาสนั้น
คลาสสุดท้ายสาธารณะ ImmutableClass {
ชื่อทรัพย์สินสตริงสุดท้ายส่วนตัว;
สาธารณะ ImmutableClass (ชื่อคุณสมบัติสตริง) {
this.propertyName = ชื่อทรัพย์สิน;
-
สตริงสาธารณะ getPropertyName() {
กลับทรัพย์สินชื่อ;
-
-
เมื่อคลาสที่ไม่เปลี่ยนรูปถูกสร้างอินสแตนซ์แล้ว คุณสมบัติของคลาสจะไม่สามารถเปลี่ยนแปลงได้ คลาสดังกล่าวสามารถแชร์ได้อย่างปลอดภัยโดยหลายเธรด โดยไม่ต้องคำนึงถึงปัญหาการซิงโครไนซ์ ซึ่งเป็นวิธีหนึ่งในการบรรลุความปลอดภัยของเธรด
ประเภทการแจงนับยังเป็นวิธีการกำหนดค่าคงที่อีกด้วย การแจงนับเป็นประเภทคลาสพิเศษที่สามารถมีวิธีการและคุณสมบัติของตัวเองได้ องค์ประกอบการแจงนับแต่ละรายการเป็นอินสแตนซ์ของประเภทการแจงนับและเป็นสาธารณะขั้นสุดท้ายแบบคงที่
ทิศทาง enum สาธารณะ {
เหนือ ตะวันออก ใต้ ตะวันตก;
-
การแจงนับไม่เพียงแต่นำข้อมูลเท่านั้น แต่ยังรวมถึงพฤติกรรมด้วย ซึ่งทำให้การแจงนับมีความยืดหยุ่นและมีประสิทธิภาพมากกว่าการกำหนดค่าคงที่โดยใช้คำสำคัญสุดท้าย
การกำหนดค่าคงที่ในอินเทอร์เฟซเป็นวิธีปฏิบัติที่เก่ากว่าและไม่แนะนำโดยทั่วไป ในโค้ดเชิงประวัติ บางครั้งคุณจะเห็นอินเทอร์เฟซดังกล่าวใช้เพื่อกำหนดค่าคงที่เท่านั้น
ส่วนต่อประสานสาธารณะ ConstantInterface {
String ERROR_MESSAGE = เกิดข้อผิดพลาด;
-
อย่างไรก็ตาม เนื่องจากคลาสการใช้งานของอินเทอร์เฟซจะสืบทอดค่าคงที่เหล่านี้ ซึ่งจะนำไปสู่การเชื่อมต่อที่ไม่จำเป็นระหว่างอินเทอร์เฟซและคลาสการใช้งาน แนวทางหลักในปัจจุบันคือการหลีกเลี่ยงการใช้อินเทอร์เฟซคงที่
เมื่อต้องใช้อินสแตนซ์ที่ไม่เปลี่ยนแปลงเพียงอินสแตนซ์เดียวสำหรับแอปพลิเคชันทั้งหมด เช่น ไฟล์การกำหนดค่า คุณสามารถใช้รูปแบบ Singleton เพื่อให้แน่ใจว่ามีการสร้างอินสแตนซ์เดียวเท่านั้นและอินสแตนซ์นี้สามารถเข้าถึงได้ทั่วโลก
ด้วยการสร้างสำเนาของอ็อบเจ็กต์ที่ไม่เปลี่ยนรูป จึงสามารถรับประกันความปลอดภัยของข้อมูลได้ รูปแบบอ็อบเจ็กต์ที่ไม่เปลี่ยนรูปมักจะใช้ร่วมกับคลาสที่ไม่เปลี่ยนรูป และมีประโยชน์มากในสภาพแวดล้อมแบบมัลติเธรด
การรับรองความชัดเจนและความเสถียรของโค้ดเป็นจุดประสงค์หลักของการใช้ค่าคงที่ ใน Java ขอแนะนำให้ใช้คีย์เวิร์ดสุดท้ายหรือประเภทการแจงนับเพื่อกำหนดค่าคงที่ ในขณะที่คลาสที่ไม่เปลี่ยนรูปจะใช้เพื่อสร้างอ็อบเจ็กต์ที่มีอินสแตนซ์ที่ไม่เปลี่ยนรูป การปฏิบัติตามแนวทางปฏิบัติในการเขียนโค้ดที่ดีจะทำให้โค้ดของคุณมีประสิทธิภาพและบำรุงรักษาได้ง่ายขึ้น
ถาม: จะกำหนดค่าคงที่ใน Java ได้อย่างไร ตอบ: ใน Java เราสามารถใช้คีย์เวิร์ด Final เพื่อกำหนดค่าคงที่ได้ ค่าคงที่คือค่าที่ไม่สามารถเปลี่ยนแปลงได้ เมื่อกำหนดแล้ว ค่าของมันยังคงไม่เปลี่ยนแปลง เราสามารถใช้คีย์เวิร์ดสุดท้ายกับประเภทข้อมูลและชื่อตัวแปรเพื่อสร้างค่าคงที่
ถาม: จะประกาศค่าคงที่ใน Java ได้อย่างไร ตอบ: หากต้องการประกาศค่าคงที่ใน Java เราสามารถใช้คีย์เวิร์ดสุดท้ายได้ ตัวอย่างเช่น สามารถประกาศค่าคงที่จำนวนเต็มเป็นค่าสุดท้าย int MAX_VALUE = 100; ซึ่งจะสร้างค่าคงที่ที่เรียกว่า MAX_VALUE ที่มีค่า 100 และไม่สามารถแก้ไขได้
ถาม: ค่าคงที่และตัวแปรต่างกันอย่างไร ตอบ: มีความแตกต่างที่สำคัญบางประการระหว่างค่าคงที่และตัวแปรใน Java ประการแรก ค่าของค่าคงที่ไม่สามารถแก้ไขได้หลังจากประกาศแล้ว ในขณะที่ค่าของตัวแปรสามารถเปลี่ยนแปลงได้ตลอดเวลา ประการที่สอง ค่าคงที่มักจะแสดงด้วยอักษรตัวใหญ่เพื่อให้แยกแยะได้ง่ายขึ้น สุดท้าย ค่าคงที่สามารถให้ค่าคงที่หรือค่าคงที่อื่นๆ ในโปรแกรมได้ ในขณะที่ตัวแปรสามารถเก็บค่าต่างๆ ได้ตามต้องการ เมื่อประกาศค่าคงที่ คุณสามารถใช้คีย์เวิร์ดสุดท้ายเพื่อทำให้ค่าคงที่ไม่เปลี่ยนรูปได้
ฉันหวังว่าคำอธิบายโดยละเอียดเกี่ยวกับคำจำกัดความคงที่ของ Java โดยโปรแกรมแก้ไข Downcodes จะเป็นประโยชน์กับคุณ! หากคุณมีคำถามใด ๆ โปรดอย่าลังเลที่จะถาม