logo

כיתה פנימית של Java Anonymous

מחלקה פנימית אנונימית של Java היא מחלקה פנימית ללא שם ועבורה נוצר רק אובייקט בודד. מחלקה פנימית אנונימית יכולה להיות שימושית בעת יצירת מופע של אובייקט עם 'תוספות' מסוימות, כגון עומס יתר של שיטות של מחלקה או ממשק, ללא צורך ממשי במחלקת משנה של מחלקה.

ניק פולוס ברק שחור

במילים פשוטות, מחלקה שאין לה שם ידועה כמחלקה פנימית אנונימית בג'אווה. יש להשתמש בו אם אתה צריך לעקוף שיטת מחלקה או ממשק. ניתן ליצור מחלקה פנימית של Java Anonymous בשתי דרכים:

  1. שיעור (יכול להיות מופשט או קונקרטי).
  2. מִמְשָׁק

דוגמה לכיתה פנימית אנונימית ב-Java באמצעות מחלקה

TestAnonymousInner.java

 abstract class Person{ abstract void eat(); } class TestAnonymousInner{ public static void main(String args[]){ Person p=new Person(){ void eat(){System.out.println('nice fruits');} }; p.eat(); } } 
בדוק את זה עכשיו

תְפוּקָה:

איך למיין מערך ב-java
 nice fruits 

עבודה פנימית של קוד נתון

 Person p=new Person(){ void eat(){System.out.println('nice fruits');} }; 
  1. מחלקה נוצרת, אך שמה נקבע על ידי המהדר, מה שמרחיב את המחלקה Person ומספק את היישום של שיטת eat() .
  2. נוצר אובייקט מהמחלקה אנונימית שאליו מתייחסים 'p', משתנה התייחסות מסוג Person.

מחלקה פנימית שנוצרה על ידי המהדר

 import java.io.PrintStream; static class TestAnonymousInner extends Person { TestAnonymousInner(){} void eat() { System.out.println('nice fruits'); } } 

דוגמה בכיתה פנימית אנונימית של Java באמצעות ממשק

 interface Eatable{ void eat(); } class TestAnnonymousInner1{ public static void main(String args[]){ Eatable e=new Eatable(){ public void eat(){System.out.println('nice fruits');} }; e.eat(); } } 
בדוק את זה עכשיו

תְפוּקָה:

 nice fruits 

עבודה פנימית של קוד נתון

הוא מבצע שתי משימות עיקריות מאחורי הקוד הזה:

 Eatable p=new Eatable(){ void eat(){System.out.println('nice fruits');} }; 
  1. נוצרת מחלקה, אך שמה נקבע על ידי המהדר, אשר מיישם את ממשק Eatable ומספק את היישום של שיטת eat() .
  2. נוצר אובייקט מהמחלקה אנונימית שאליו מתייחסים 'p', משתנה התייחסות מסוג Eatable.

מחלקה פנימית שנוצרה על ידי המהדר

 import java.io.PrintStream; static class TestAnonymousInner1 implements Eatable { TestAnonymousInner1(){} void eat(){System.out.println('nice fruits');} }