Java anonym indre klasse er en indre klasse uden navn, og for hvilken der kun oprettes et enkelt objekt. En anonym indre klasse kan være nyttig, når du laver en forekomst af et objekt med visse 'ekstra'er', såsom overbelastningsmetoder for en klasse eller grænseflade, uden faktisk at skulle underklassificere en klasse.
Med enkle ord er en klasse, der ikke har noget navn, kendt som en anonym indre klasse i Java. Det skal bruges, hvis du skal tilsidesætte en klasse- eller grænseflademetode. Java Anonymous indre klasse kan oprettes på to måder:
- Klasse (kan være abstrakt eller konkret).
- Interface
Java anonym indre klasse eksempel ved hjælp af 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 nu
Produktion:
nice fruits
Intern bearbejdning af given kode
Person p=new Person(){ void eat(){System.out.println('nice fruits');} };
- En klasse oprettes, men dens navn bestemmes af compileren, som udvider Person-klassen og giver implementeringen af eat()-metoden.
- Et objekt af klassen Anonym oprettes, der refereres til med 'p', en referencevariabel af typen Person.
Intern klasse genereret af compileren
import java.io.PrintStream; static class TestAnonymousInner extends Person { TestAnonymousInner(){} void eat() { System.out.println('nice fruits'); } }
Java anonym indre klasse eksempel ved hjælp af grænseflade
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 nu
Produktion:
springe listen over
nice fruits
Intern bearbejdning af given kode
Den udfører to hovedopgaver bag denne kode:
Eatable p=new Eatable(){ void eat(){System.out.println('nice fruits');} };
- En klasse oprettes, men dens navn bestemmes af compileren, som implementerer Eatable-grænsefladen og leverer implementeringen af eat()-metoden.
- Et objekt af klassen Anonym oprettes, der refereres til med 'p', en referencevariabel af typen Eatable.
Intern klasse genereret af compileren
import java.io.PrintStream; static class TestAnonymousInner1 implements Eatable { TestAnonymousInner1(){} void eat(){System.out.println('nice fruits');} }