มีวิธีในการเขียนโปรแกรมภาษาเพื่อบอกคอมไพเลอร์ว่าชิ้นส่วนของข้อมูลคงที่ มีสองข้อกำหนด
1. ค่าคงที่คอมไพเลอร์ที่ไม่เปลี่ยนแปลง
2. ค่าที่เริ่มต้นที่รันไทม์และค่านี้จะไม่เปลี่ยนแปลง
ใน Java ให้ใช้ตัวแปรตัวดัดแปลงสุดท้ายเพื่อให้บรรลุข้อกำหนดทั้งสองนี้
<name pre = "code"> // compiler ค่าคงที่ส่วนตัวค่าสุดท้าย int ค่า one = 9; ค่าคงที่ int สุดท้ายของส่วนตัวค่า _two = 99; ค่าคงที่สาธารณะสุดท้ายค่าคงที่ค่า _three = 39; // ค่าเริ่มต้นที่รันไทม์
เมื่อสุดท้ายแก้ไขประเภทข้อมูลพื้นฐานให้เก็บข้อมูลคงที่และไม่เปลี่ยนแปลง
เมื่อแก้ไขการอ้างอิงวัตถุสุดท้ายการอ้างอิงจะคงที่ เมื่อการอ้างอิงถูกเริ่มต้นเพื่อชี้ไปที่วัตถุแล้วจะไม่สามารถเปลี่ยนเป็นชี้ไปที่วัตถุอื่นได้
อย่างไรก็ตามวัตถุนั้นสามารถแก้ไขได้
การแก้ไขสุดท้ายพารามิเตอร์ในรายการพารามิเตอร์เมธอดซึ่งหมายความว่าวัตถุที่ชี้ไปที่การอ้างอิงพารามิเตอร์ไม่สามารถเปลี่ยนแปลงได้ในวิธีการ คุณลักษณะนี้ส่วนใหญ่จะใช้เพื่อส่งผ่านข้อมูลไปยังคลาสภายในที่ไม่ระบุชื่อ
นอกจากนี้ใน Java
วัตถุประสงค์ของวิธีการปรับเปลี่ยนขั้นสุดท้ายคือการห้ามไม่ให้คลาสย่อยอย่างชัดเจนจากการเขียนทับวิธีนี้
ห้ามการดัดแปลงขั้นสุดท้ายมรดกเป็นสิ่งต้องห้าม
คุณใช้ข้อกำหนดทั้งสองนี้ใน C#ได้อย่างไร?
ข้อกำหนดที่ 1: ค่าคงที่คอมไพเลอร์
Const ปรับเปลี่ยนค่าคงที่ซึ่งจะต้องใช้สำหรับการคำนวณในเวลาที่รวบรวม ค่าคงที่อยู่เสมอ แต่ไม่จำเป็นต้อง (จริงไม่อนุญาต) รวมถึงตัวดัดแปลงคงที่ในการประกาศคงที่
ข้อกำหนดที่ 2: ค่าคงที่รันไทม์
คำหลักที่อ่านอย่างเดียวอาจต้องใช้ตัวแปรบางอย่างที่ไม่ควรเปลี่ยนค่า แต่ไม่ทราบค่าของมันก่อนที่จะทำงาน
C# ให้ตัวแปรประเภทอื่นสำหรับสถานการณ์นี้: ฟิลด์อ่านอย่างเดียว
นอกจากนี้ใน C#
วิธีการดัดแปลงที่ปิดผนึกคือการห้ามไม่ให้คลาสย่อยอย่างชัดเจนจากการเขียนทับวิธีนี้
ห้ามมิให้มีการปรับเปลี่ยนระดับการสืบทอดการสืบทอด
ข้างต้นคือการอภิปรายสั้น ๆ ของคำหลักสุดท้ายใน Java และ const และคำหลักแบบอ่านอย่างเดียวใน C# ฉันหวังว่าทุกคนจะสนับสนุน wulin.com ~