สุดท้ายหมายถึง "สุดท้าย, สุดท้าย" ความหมายนี้แสดงในชวา
สุดท้ายสามารถใช้ในการแก้ไขตัวแปร (รวมถึงแอตทริบิวต์คลาสแอตทริบิวต์วัตถุตัวแปรท้องถิ่นและพารามิเตอร์ที่เป็นทางการ) วิธีการ (รวมถึงวิธีการคลาสและวิธีการวัตถุ) และคลาส
1. คลาสการปรับเปลี่ยนขั้นสุดท้าย:
คลาสการปรับเปลี่ยนขั้นสุดท้ายหมายความว่าคลาสนี้มีความหมาย "สุดท้าย, สุดท้าย" แล้ว ดังนั้นคลาสที่แก้ไขด้วยขั้นสุดท้ายจึงไม่สามารถสืบทอดได้นั่นคือพวกเขาไม่สามารถมีคลาสย่อยของตัวเองได้
หากมุมมองสืบทอดคลาสที่ได้รับการแก้ไขด้วยขั้นสุดท้ายข้อผิดพลาดอาจเกิดขึ้นระหว่างการรวบรวม
2. วิธีการปรับเปลี่ยนขั้นสุดท้าย:
วิธีการปรับเปลี่ยนขั้นสุดท้ายหมายความว่าวิธีนี้มีความหมาย "สุดท้าย, สุดท้าย" อยู่แล้วนั่นคือวิธีนี้ไม่สามารถเขียนใหม่ได้ (วิธีการปรับเปลี่ยนขั้นสุดท้ายหลายวิธีสามารถโอเวอร์โหลดได้)
สิ่งหนึ่งที่ควรทราบที่นี่คือเพราะข้อกำหนดเบื้องต้นสำหรับการเขียนทับคือ subclass สามารถสืบทอดวิธีนี้จากคลาสพาเรนต์หากวิธีการแก้ไขขั้นสุดท้ายในคลาสพาเรนต์ยังมีสิทธิ์ควบคุมการเข้าถึงส่วนตัว
วิธีนี้ไม่สามารถสืบทอดได้โดยตรงจากคลาสย่อย ดังนั้นชื่อวิธีการและพารามิเตอร์เดียวกันสามารถกำหนดในคลาสย่อยในเวลานี้ ในเวลานี้จะไม่มีความขัดแย้งระหว่างการเขียนใหม่และสุดท้าย
วิธีการใหม่ได้รับการนิยามใหม่ในคลาสย่อย
คลาสสาธารณะ B ขยายโมฆะ {public Static Main (String [] args) {} โมฆะสาธารณะ getName () {}} คลาส A { /*** เนื่องจากการดัดแปลงส่วนตัววิธีนี้ไม่สามารถสืบทอดได้ในคลาสย่อย ดังนั้นวิธี getName ในคลาสย่อยจะถูกกำหนดใหม่ * เป็นของคลาสย่อยเองและการรวบรวมเป็นโมฆะสุดท้าย */ส่วนตัวสุดท้ายเป็นโมฆะ getName () {}/ * เนื่องจากการปรับเปลี่ยน pblic, subclass สามารถสืบทอดวิธีนี้ได้3. ตัวแปรแก้ไขขั้นสุดท้าย:
ตัวแปรที่ได้รับการแก้ไขขั้นสุดท้ายหมายความว่าตัวแปรนี้มีความหมาย "สุดท้าย, สุดท้าย" เมื่อตัวแปรสุดท้ายถูกกำหนดและเริ่มต้นเป็นครั้งแรกค่าตัวแปรที่แก้ไขขั้นสุดท้ายจะไม่สามารถเปลี่ยนแปลงได้
นี่คือปัญหาบางอย่างที่ต้องสังเกต:
1. ตัวแปรที่ได้รับการแก้ไขขั้นสุดท้ายไม่ว่าจะเป็นแอตทริบิวต์คลาสแอตทริบิวต์วัตถุพารามิเตอร์ที่เป็นทางการหรือตัวแปรท้องถิ่นตัวแปรเหล่านี้จะต้องแสดงการเริ่มต้น (นั่นคือระบุค่าเริ่มต้นสำหรับการแสดงผลของพวกเขา)
สำหรับพารามิเตอร์อย่างเป็นทางการที่แก้ไขโดยรอบสุดท้ายมันเป็นเรื่องง่ายที่จะเข้าใจเพราะมันถูกส่งผ่านโดยพารามิเตอร์จริง
สำหรับตัวแปรท้องถิ่นที่แก้ไขโดยรอบสุดท้ายเช่นเดียวกับตัวแปรที่ไม่ได้รับการแก้ไขโดยสุดท้ายพวกเขาจำเป็นต้องแสดงการเริ่มต้น นั่นคือตัวแปรท้องถิ่นจะต้องเริ่มต้น
สำหรับแอตทริบิวต์คลาสทั่วไปและแอตทริบิวต์วัตถุสามารถเห็นได้จากกระบวนการเริ่มต้นของคลาสและวัตถุที่เริ่มต้นการเริ่มต้นเริ่มต้นเป็นครั้งแรก จากนั้นตัวแปรที่มีการกำหนดที่แสดงจะเริ่มต้นอีกครั้ง
อย่างไรก็ตามสำหรับแอตทริบิวต์คลาสและแอตทริบิวต์วัตถุที่แก้ไขโดยสุดท้ายหากการเริ่มต้นไม่ปรากฏค่าเริ่มต้นจะเป็นค่าเริ่มต้นเริ่มต้นซึ่งขัดแย้งกับจุดเริ่มต้นของสุดท้าย ดังนั้นไวยากรณ์ Java จึงกำหนด:
แอตทริบิวต์คลาสและแอตทริบิวต์ตัวแปรที่แก้ไขโดยขั้นสุดท้ายจะต้องแสดงและกำหนดค่าเริ่มต้นที่กำหนด
นอกจากนี้ไม่ว่าจะเป็นประเภทข้อมูลพื้นฐานหรือชนิดข้อมูลอ้างอิงตัวแปรที่แก้ไขแล้วจะแสดงเป็นครั้งแรกและไม่สามารถแก้ไขได้หลังจากเริ่มต้น เป็นเรื่องง่ายที่จะเข้าใจประเภทข้อมูลพื้นฐาน สำหรับการอ้างอิง
ชนิดข้อมูลตัวแปรอ้างอิงชี้ไปที่วัตถุจริง แต่เก็บที่อยู่ของวัตถุที่ชี้ไป ดังนั้นค่าของมันไม่สามารถแก้ไขได้ไม่ได้หมายความว่าวัตถุที่ชี้ไปที่ไม่สามารถแก้ไขได้
4. ปัญหา "การเปลี่ยนมาโคร"/"มาโครตัวแปร" ที่เกิดจากการดัดแปลงขั้นสุดท้าย
ใน Java ตัวแปรมาโคร/การเปลี่ยนมาโครหมายถึงความจริงที่ว่าในรหัส Java ตัวแปรบางตัวสามารถแทนที่โดยตรงด้วยค่าของตัวเองในช่วงระยะเวลาการรวบรวมและรวบรวมลงในไฟล์. class ดังนั้นการเปลี่ยนแปลงนี้ไม่มีอยู่ในไฟล์. class ที่รวบรวมอีกต่อไป
ในตัวแปรของประเภทสตริงบางครั้งสถานการณ์ต่อไปนี้มักจะพบ:
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (String [] args) {String Country = "China"; ชื่อสตริง = "qqyumidi"; String userInfo = ประเทศ + ชื่อ; // หลังจากการรวบรวมตัวแปรประเทศและชื่อยังคงอยู่ที่นี่ผู้ใช้สตริง = "จีน" + "qqyumidi"; // หลังจากการรวบรวมมันจะกลายเป็น chinesqqyumidi โดยตรง}}}ในบรรทัดที่ 9 ของรหัสข้างต้นผลลัพธ์ตัวแปรที่รวบรวมได้คือ Chinaqqyumidi โดยตรง ในบรรทัดที่ 8 เนื่องจากประเทศและชื่อเป็นตัวแปรธรรมดาคอมไพเลอร์ไม่สามารถกำหนดค่าของ userInfo ได้โดยตรงในเวลาคอมไพล์ดังนั้น
ผลลัพธ์หลังจากการรวบรวมที่นี่ไม่ได้โดยตรง Chinaqqyumidi
อย่างไรก็ตามหากคุณต้องการให้รหัสในบรรทัดที่ 8 แสดงโดยตรงเป็น Chinaqqyumidi ในช่วงระยะเวลาการรวบรวมคุณต้องใช้ตัวดัดแปลงสุดท้ายเพื่อปรับเปลี่ยนประเทศและตัวแปรชื่อ
เหตุผล: ตัวแปรที่แก้ไขโดยตัวดัดแปลงสุดท้ายสามารถกำหนดค่าได้โดยตรงในช่วงระยะเวลาการรวบรวมเนื่องจากลักษณะของตัวเองและค่านี้ไม่สามารถเปลี่ยนแปลงได้ ในระหว่างกระบวนการรวบรวมตัวแปรของมันสามารถแปลงเป็นค่าโดยตรงสำหรับการเป็นตัวแทน
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (String [] args) {Final String Country = "China"; ชื่อสตริงสุดท้าย = "qqyumidi"; String userInfo = ประเทศ + ชื่อ; // หลังจากการรวบรวมมันเป็น chianqqyumidi}} โดยตรงข้างต้นเป็นเนื้อหาเต็มรูปแบบของจุดความรู้สุดท้ายของ Java Modifier (บทความต้องอ่าน) ที่ตัวแก้ไขนำมาให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณและสนับสนุน wulin.com เพิ่มเติม ~