คลาสภายในของ Java ถูกแบ่งออกเป็น: คลาสสมาชิกภายใน, คลาสซ้อนกันแบบคงที่, เมธอดคลาสภายในและคลาสภายในที่ไม่ระบุชื่อ
ในโลกชวาไวยากรณ์ระดับภายในที่ไม่ระบุชื่อมีให้เพื่อช่วยให้ทุกคนลดความซับซ้อนของรหัสของพวกเขา บทความนี้อธิบายถึงรูปแบบทั่วไปในรูปแบบของรหัสจากอินเทอร์เฟซคลาสนามธรรมและคลาสปกติ
1. โหมดอินเตอร์เฟส
อินเทอร์เฟซสาธารณะ iwriter {โมฆะเขียน ();} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {iWriter writer = ใหม่ iWriter () {@Overridepublic เป็นโมฆะ Write () {system.out.println ("iWriter เขียน ... ");}}; writer.write (); 2. คลาสบทคัดย่อ
บทคัดย่อระดับสาธารณะบทคัดย่อบทคัดย่อ {โมฆะนามธรรมสาธารณะเขียน ();} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {AbstractWriter AbstractWriter = new AbstractWriter () {@Overridepublic Void Write () {system.out.println ("บทคัดย่อเขียน ... ");3. ชั้นเรียนทั่วไป
TextWriter คลาสสาธารณะใช้ iWriter {@OverridePublic Void Write () {System.out.print ("นักเขียนข้อความ .. ");}} โมฆะคงที่สาธารณะ (สตริง [] args) {textwriter textWriter = textWriter ใหม่ () เขียน ... ");}}; textWriter.write ();} 4. ใช้ในเธรด
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {เธรดเธรด = เธรดใหม่ () {@OverridePublic void run () {ใหม่ iWriter () {@Overridepublic Void Write () {System.out.println ("Iwriter Thread Write ... ");}}. ();};};}; 5. บทสรุป
จากข้างต้นเราจะเห็นได้ว่าในความเป็นจริงไม่ว่าจะเป็นอินเทอร์เฟซคลาสนามธรรมหรือคลาสภายในที่ไม่ระบุชื่อที่ได้มาจากชั้นเรียนปกติการใช้งานจะเหมือนกัน เหตุผลที่นี่เป็นน้ำตาลวากยสัมพันธ์คือเมื่อคอมไพเลอร์รวบรวมคลาสภายในที่ไม่ระบุชื่อในคลาสที่แตกต่างกัน นี่เป็นเช่นเดียวกับการเขียนคลาสการใช้งานแยกต่างหากแล้วเรียกมันว่า สำหรับรายละเอียดคุณสามารถอ้างถึงไดเรกทอรีที่สร้างขึ้นหลังจากการรวบรวม ดังที่แสดงในภาพหน้าจอด้านล่าง: