logo

Java Anonymous vidinė klasė

Java anoniminė vidinė klasė yra vidinė klasė be pavadinimo ir kuriai sukuriamas tik vienas objektas. Anoniminė vidinė klasė gali būti naudinga kuriant objekto egzempliorių su tam tikrais „priedais“, tokiais kaip klasės ar sąsajos perkrovimo metodai, iš tikrųjų nereikia klasifikuoti klasės.

Java rūšiavimas masyvo sąraše

Paprastais žodžiais tariant, klasė, kuri neturi pavadinimo, yra žinoma kaip anoniminė vidinė „Java“ klasė. Jis turėtų būti naudojamas, jei turite nepaisyti klasės ar sąsajos metodo. Java Anonymous vidinė klasė gali būti sukurta dviem būdais:

  1. Klasė (gali būti abstrakti arba konkreti).
  2. Sąsaja

Java anoniminės vidinės klasės pavyzdys naudojant klasę

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(); } } 
Išbandykite dabar

Išvestis:

Python programų sąrašas
 nice fruits 

Vidinis duoto kodo veikimas

 Person p=new Person(){ void eat(){System.out.println('nice fruits');} }; 
  1. Klasė sukuriama, tačiau jos pavadinimą nusprendžia kompiliatorius, kuris išplečia klasę Asmuo ir pateikia eat() metodo įgyvendinimą.
  2. Sukuriamas anoniminės klasės objektas, kuris nurodomas „p“, asmens tipo nuorodos kintamuoju.

Vidinė klasė, sukurta kompiliatoriaus

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

Java anoniminės vidinės klasės pavyzdys naudojant sąsają

 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(); } } 
Išbandykite dabar

Išvestis:

 nice fruits 

Vidinis duoto kodo veikimas

Jis atlieka dvi pagrindines šio kodo užduotis:

 Eatable p=new Eatable(){ void eat(){System.out.println('nice fruits');} }; 
  1. Klasė sukuriama, tačiau jos pavadinimą nusprendžia kompiliatorius, kuris įdiegia Eatable sąsają ir pateikia eat() metodo įgyvendinimą.
  2. Sukuriamas Anonymous klasės objektas, kuris nurodomas raide „p“ – valgomojo tipo referencinis kintamasis.

Vidinė klasė, sukurta kompiliatoriaus

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