วัตถุที่ไม่ระบุชื่อ: วัตถุที่ไม่มีชื่อ
วัตถุที่ไม่ระบุชื่อ:
className c = new className ();
c.run ();
วัตถุที่ไม่ระบุชื่อ:
ใหม่ className (). run ();
หมายเหตุ:
1. เมื่อวัตถุเรียกวิธีการเพียงครั้งเดียวก็สามารถทำให้ง่ายขึ้นในวัตถุที่ไม่ระบุชื่อ
2. วัตถุที่ไม่ระบุชื่อสองวัตถุไม่สามารถเป็นวัตถุเดียวกันได้
3. โดยทั่วไปค่าแอตทริบิวต์จะไม่ถูกกำหนดให้กับวัตถุที่ไม่ระบุชื่อเพราะไม่สามารถรับได้
4. เมื่อเรียกใช้แล้วจะมีการรีไซเคิลโดยตรงช่วยประหยัดพื้นที่หน่วยความจำ
ตัวอย่างของรหัสที่ใช้โดยวัตถุที่ไม่ระบุชื่อ:
คลาสสาธารณะ anony {int a = 1; int b = 2; void run () {system.out.println (a+b);} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ใหม่ anony (). a = 10; // วัตถุที่ไม่ระบุชื่อไม่สามารถกำหนดใหม่ได้และการมอบหมายยังคงล้มเหลว Anony A = new Anony (); A.Run (); // สร้างวัตถุโดยไม่ระบุชื่อและเรียกเมธอด}}ผลการทำงาน:
3
3
ชั้นเรียนที่ไม่ระบุชื่อ: ชั้นในที่ไม่ระบุชื่อเป็นคลาสภายในที่ไม่มีชื่อ
รูปแบบ:
className object = new className () {
/*บล็อกรหัส*/
-
หมายเหตุ:
1. คลาสภายในที่ไม่ระบุชื่อจะต้องสืบทอดคลาสแม่หรือใช้อินเทอร์เฟซ
บทคัดย่อโค้ดคลาสคลาส: (เหมือนกับอินเตอร์เฟส)
บทคัดย่อคลาส anonytest {int a = 1; int b = 2; บทคัดย่อสาธารณะเป็นโมฆะเรียกใช้ ();} คลาสสาธารณะ Anonyinner {โมฆะคงที่สาธารณะ (สตริง [] args) {anonytest a = new Anonytest () {// บทคัดย่อคลาสที่ไม่ระบุชื่อเป็นโมฆะสาธารณะ () {system.out.println (a+b);}}; a.run ();};};};หากคุณไม่ได้ใช้คลาสภายในที่ไม่ระบุชื่อเพื่อใช้วิธีการนามธรรม:
บทคัดย่อคลาส anonytest {int a = 1; int b = 2; บทคัดย่อสาธารณะเป็นโมฆะเรียกใช้ ();} คลาส Anonydemo ขยาย anonytest {public void run () {system.out.println (a+b);}} ชั้นเรียนสาธารณะ anonyinner {โมฆะสาธารณะคงที่ (สตริง [] args) // เปิดวัตถุ a.run ();}}ผลการทำงาน:
3