ส่วนที่หนึ่ง. ฉันเขียนสั้น ๆ เกี่ยวกับคำอธิบายประกอบที่มีประเภท SOURCE และ CLASS ควรอ่านเพื่อไม่ให้หลงทางในส่วนที่สองและเริ่ม "เข้าใจผิด" อีกหน่อย =) คุณรู้อย่างน้อยหนึ่งคำที่นี่แน่นอน!
ครั้งแรกที่ฉันเห็นพวกเขามีปัญหาที่นี่ ฉันไม่ได้สังเกตเห็นพวกเขาเลย Override กำลังออกไปเที่ยวกัน เขียนโดย IDEA ดังนั้นจึงควรเป็นเช่นนั้น เมื่อเวลาผ่านไป ฉันตระหนักว่าทุกอย่างลึกซึ้งยิ่งขึ้น ขณะที่คุณกำลังศึกษา คำอธิบายประกอบดูเหมือนไร้ประโยชน์แต่จำเป็น คุณไม่รู้ว่าทำไมพวกเขาถึงทำมัน ฉันคิดว่าฉันได้อ่านบทความสองสามบทความ พวกเขาพูดว่า "ช่างดีเหลือเกินที่ตอนนี้เรามีคำอธิบายประกอบ ทุกอย่างกลายเป็นเรื่องง่าย" แต่ก่อนฉันไม่รู้ว่าเป็นยังไง และฉันไม่เข้าใจว่าตอนนี้มันง่ายขึ้นแล้ว ตอนนี้ฉันรู้แล้วและอยากจะเล่าให้คุณฟังสักหน่อย คำอธิบายประกอบมี 3 ประเภท (RetentionPolicy):
พื้นเมือง - ไม่เคยเห็นและไม่เคยใช้ ฉันคิดว่านี่เป็นคำอธิบายประกอบที่ค่อนข้างหายากเพราะ... พวกเขาใช้มันหากจำเป็นต้องรันโค้ดในภาษา "ดั้งเดิม" อื่น ฉันพยายามค้นหาข้อมูลอ้างอิงที่ชัดเจนถึงเธอแต่ทำไม่ได้
SuppressWarnings - มักใช้ในรูปแบบ @SuppressWarnings("unchecked") ใช้เพื่อระงับคำเตือนที่คุณทราบ ตัวอย่างข้างต้นระงับคำเตือนเกี่ยวกับการส่งประเภทที่ไม่ได้ตรวจสอบ อีกครั้งฉันพบเพียงในรูปแบบนี้และการใช้งาน
สร้างแล้ว - ฉันเจอมันแล้วตอนนี้เมื่องานต้องการให้ฉันสร้างคลาสจากไฟล์ xsd คำอธิบายประกอบ 3 รายการนี้ค่อนข้างเฉพาะเจาะจงและมีแนวโน้มว่าจะไม่ทำให้คุณสนใจในขณะนี้ ฉันจะอธิบายอันสุดท้าย
Override - คุณใช้มันตลอดเวลาและมีประโยชน์มาก เป็นเรื่องง่ายที่จะทำผิดพลาดเมื่อลบล้างวิธีการ เว้นแต่ IDEA จะทำอย่างนั้น มีการพิมพ์ผิดหรือเพียงแค่ผิดพลาด คำอธิบายประกอบนี้จะทำให้แน่ใจได้ว่าวิธีการในคลาสพาเรนต์จะเหมือนกับวิธีการของเรา (ที่มีป้ายกำกับ) สิ่งนี้รับประกันเราว่าวิธีการนี้จะถูกแทนที่และไม่ได้เพิ่มเข้าไป เมื่อปรับโครงสร้างโค้ดใหม่ วิธีการสามารถลบหรือเปลี่ยนแปลงได้ คำอธิบายประกอบจะระบุข้อผิดพลาดให้คุณอีกครั้ง หากไม่มีมัน วิธีการของเราก็จะเสร็จสมบูรณ์
น่าเบื่อ? ฉันจะบอกว่าใช่ไม่มีประโยชน์อะไรมากที่จะนำไปจากบทความนี้ เกือบทุกอย่างในนั้น (90%) เป็นเรื่องราวเกี่ยวกับสิ่งที่คุณจะไม่ใช้หรือจะใช้ แต่น้อยมาก ส่วนที่เหลืออีก 10% คือสวัสดีและคำอธิบายของคำอธิบายประกอบการแทนที่ซึ่งเมื่อมองแวบแรกก็ไม่มีประโยชน์ ฉันคิดว่าส่วนที่สองของบทความจะน่าสนใจกว่านี้ จะมีคำอธิบายประกอบ RUNTIME และโต้ตอบกับโค้ดแบบเรียลไทม์และสร้างมนต์ดำ คำอธิบายประกอบ ส่วนที่สอง ลอมบอก
- แหล่งที่มา - คำอธิบายประกอบของคอมไพ เลอร์
- CLASS – ข้อมูลจากคำอธิบายประกอบจะถูกเขียนเป็นไบต์โค้ด แต่จะไม่สามารถใช้งานได้ระหว่างการดำเนินการ พวกเขาเขียนว่าคำอธิบายประกอบจำนวนมากในไลบรารีมาตรฐานใช้ประเภทนี้ และตอนนี้ก็เก็บไว้เนื่องจากความเข้ากันได้แบบย้อนหลัง ใช้สำหรับงานที่เฉพาะเจาะจงมาก
- คำถามและคำตอบใน StackOverflow
- RUNTIME – เป็นที่นิยมที่สุด ถูกใช้ในขณะที่โค้ดกำลังทำงานอยู่
- java/lang/คำอธิบายประกอบ/Native.class;
- java/lang/SuppressWarnings.class
- javax/คำอธิบายประกอบ/Generated.class
- ,java/lang/Override.class
- com/sun/istack/internal/Nullable.class
- com/sun/istack/internal/NotNull.class
- com/sun/istack/internal/Interned.class
- เนทีฟ – ตัวแปรภายใต้คำอธิบายประกอบนี้สามารถอ้างถึงโค้ดเนทีฟ
- SuppressWarnings – ระงับคำเตือนของคอมไพเลอร์ต่างๆ
- สร้างแล้ว – ทำเครื่องหมายซอร์สโค้ดที่ถูกสร้างขึ้น
- Override – ตรวจสอบการแทนที่วิธีการ





GO TO FULL VERSION