Java anonym indre klasse er en indre klasse uten navn og som bare et enkelt objekt er opprettet for. En anonym indre klasse kan være nyttig når du lager en forekomst av et objekt med visse 'ekstra'er, for eksempel overbelastningsmetoder for en klasse eller grensesnitt, uten å faktisk underklassifisere en klasse.
Med enkle ord er en klasse som ikke har noe navn kjent som en anonym indre klasse i Java. Den bør brukes hvis du må overstyre en metode for klasse eller grensesnitt. Java Anonymous indre klasse kan opprettes på to måter:
- Klasse (kan være abstrakt eller konkret).
- Grensesnitt
Java anonym indre klasse eksempel ved bruk av klasse
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(); } }Test det nå
Produksjon:
nice fruits
Intern arbeid av gitt kode
Person p=new Person(){ void eat(){System.out.println('nice fruits');} };
- En klasse opprettes, men navnet bestemmes av kompilatoren, som utvider Person-klassen og gir implementeringen av eat()-metoden.
- Et objekt av klassen Anonym opprettes som refereres til med 'p', en referansevariabel av typen Person.
Intern klasse generert av kompilatoren
import java.io.PrintStream; static class TestAnonymousInner extends Person { TestAnonymousInner(){} void eat() { System.out.println('nice fruits'); } }
Java anonym indre klasse eksempel ved bruk av grensesnitt
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(); } }Test det nå
Produksjon:
strukturer ved hjelp av arrays i c
nice fruits
Intern arbeid av gitt kode
Den utfører to hovedoppgaver bak denne koden:
Eatable p=new Eatable(){ void eat(){System.out.println('nice fruits');} };
- En klasse er opprettet, men navnet bestemmes av kompilatoren, som implementerer Eatable-grensesnittet og gir implementeringen av eat()-metoden.
- Et objekt av klassen Anonym opprettes som refereres til med 'p', en referansevariabel av typen Eatable.
Intern klasse generert av kompilatoren
import java.io.PrintStream; static class TestAnonymousInner1 implements Eatable { TestAnonymousInner1(){} void eat(){System.out.println('nice fruits');} }