Kako implementirati anonimni razred v Javo



Ta spletni dnevnik vam nudi podrobno in celovito znanje o anonimnem razredu v Javi s primeri in kako se razlikuje od običajnega razreda.

Anonimni razredi vam omogočajo, da napišete majhno kodo, hkrati pa deklarirate in ustvarite razred. Ti razredi nimajo imen, uporablja se, če želite kateri koli razred uporabiti samo enkrat. Je pomemben vidik programiranja Java. Razumejmo, kaj je anonimni razred v Javi v naslednjem vrstnem redu:

Razglasitev anonimnih razredov





Običajno ustvarimo razred, tj. Prijavimo razred, anonimni razredi pa so izrazi, kar pomeni, da anonimni razred definiramo v drugem izraz . Z enostavnimi besedami je anonimni notranji razred razred brez imen in ustvarjen je samo en objekt.

Anonymous-Class-In-Java



Anonimni razred je koristen, kadar moramo ustvariti primerek predmeta s preobremenitvenimi metodami razreda ali vmesnika, ne da bi ustvarili podrazred razreda.

Anonimne lahko ustvarite na dva načina:

  • Predavanje (lahko tudi Povzetek)
  • Vmesnik

V anonimnem razredu lahko razglasimo naslednje:



  • Polja
  • Dodatne metode
  • Inicializatorji primerkov
  • Lokalni razredi

Sintaksa anonimnega razreda v Javi

Sintaksa anonimnega razreda je podobna konstruktorju, le da je v bloku definicija razreda, kot je prikazano v spodnjem delčku:

// AnonymousClass = vmesnik, abstraktni / konkretni razred. AnonymousClass t = new AnonymousClass () {// metode in polja public void someMethod () {// koda gre sem}}

Oglejmo si naslednji primer:

Naslednji primer,HelloAnonymousClass, uporablja anonimne razrede v inicializacijskih stavkih lokalnih spremenljivkpozdravi nekogavendar za inicializacijo spremenljivke uporablja lokalni razredpozdraviteWorld:

javni razred HelloAnonymousClass {vmesnik HelloWorld {javna praznina sayHello () javna praznina sayHelloTo (String nekdo)} javna praznina sayHello () {razred GreetWorld implementira HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} javna praznina sayHelloTo (String nekdo) {name = nekdo System.out.println ('Hello' + ime)}} HelloWorld greetWorld = new GreetWorld () HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} javna praznina sayHelloTo (String nekdo) {name = nekdo System.out.println ('hola' + ime)}} greetWorld.sayHello () greetSomeone.sayHelloTo ('Doe')} javni statični void main (String ... args) {HelloAnonymousClass myApp = novo HelloAnonymousClass () myApp.sayHello ()}}

Kot smo videli, da je anonimni razred izraz, je sintaksa podobna konstruktorju, le da v bloku ni definicije razreda. Razmislite o instanciranju objekta greetSomeone:

HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello () {sayHelloTo ('Jon')} public void sayHelloTo (String nekdo) {name = nekdo System.out.println ('hola' + ime) }}

Anonimni razred je sestavljen iz:

  • nov operater.
  • Lahko implementira vmesnik ali razširi razred. Kot v zgornjem primeru izvaja tudi vmesnik.
  • Vsebuje oklepaje tako kot običajni razredi za posredovanje argumentov konstruktorju.
  • Vsebuje telo, ki vsebuje izjave o metodah. Izjave niso dovoljene.

Anonimni razred bi moral biti del izjav.

V zgornjem primeru je anonimni izraz razreda del stavka, ki ga sprožipozdravi nekoga.

kaj je žeton java

Načini ustvarjanja anonimnega razreda v Javi

Obstajajo trije načini za ustvarjanje notranjega razreda v Javi

  • S podaljšanjem razreda

Anonimni notranji razred lahko ustvarimo z razširitvijo drugega razreda, predpostavimo, da moramo z uporabo razreda Thread ustvariti nit, lahko namesto ločenega razreda ustvarimo anonimni notranji razred.

// Program za ponazoritev anonimnega notranjega razreda z razširitvijo drugega razreda razreda AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class, ki razširja razred niti Thread t = new Thread () {public void run () {System .out.println ('Otrok!'}}} t.start () System.out.println ('Starš!')}}

Izhod:

Starš!

Otrok!

  • Z izvajanjem vmesnika

Z implementacijo vmesnika lahko ustvarimo tudi anonimni notranji razred. Zdaj, ko smo ustvarili notranji razred s podobno razširitvijo razreda, lahko ustvarimo razred, ki izvaja vmesnik.

// Program za ponazoritev anonimnega notranjega razreda z izvajanjem razreda vmesnika AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class, ki izvaja vmesnik Runnable r = new Runnable () {public void run () {System.out .println ('Otrok!'}}} Nit t = nova Nit (r) t.start () System.out.println ('Starš!')}}

Izhod:

dolžina polja v javascriptu

Starš!

Otrok!

  • Kot argument metode / konstruktorja

Da bi razumeli skladnjo, si oglejmo spodnji primer:

// Program za ponazoritev anonimnega notranjega razreda z argumentnim razredom AnonymousThreadClass {public static void main (String [] args) {// Anonimni razred z argumentom konstruktorja Thread t = new Thread (new Runnable () {public void run () {System. out.println ('Otrok!'}}}) t.start () System.out.println ('Starš!')}}

Izhod:

Starš!

Otrok!

Razlika med rednim in anonimnim notranjim razredom

  • Lahko izvedemo več številk vmesnikov z uporabo običajnega razreda, vendar lahko z anonimnim notranjim razredom izvedemo samo en vmesnik.

  • Z rednim poukom lahko podaljšati razred in tudi implementiramo več vmesnikov, vendar lahko z anonimnim notranjim razredom bodisi razširimo razred bodisi implementiramo vmesnik, ne pa obojega hkrati.

  • Z anonimnimi mi ne more napisati konstruktorja ker anonimni notranji razred nima imena in bi ime konstruktorja moralo biti enako imenu razreda.

V tem članku smo videli, kaj je anonimni notranji razred in kako ga lahko ustvarimo. prešli smo skozi sintakso anonimnega notranjega razreda in tudi kako lahko na 3 načine ustvarimo anonimni razred in s tem smo prišli do konca tega članka o Anonimnem razredu v Javi. Oglejte si avtor Edureka.

Imate vprašanje? Omenite ga v oddelku za komentarje tega članka in odgovorili vam bomo v najkrajšem možnem času.