Névtelen osztály megvalósítása Java-ban



Ez a blog részletes és átfogó ismereteket nyújt Önnek a Java névtelen osztályáról, példákkal és hogyan különbözik a szokásos osztálytól.

Az anonim osztályok lehetővé teszik kis kódok írását, és egyszerre jelenthetik be és példányosíthatják az osztályt. Ezeknek az osztályoknak nincs nevük, akkor használják, ha bármelyik osztályt csak egyszer akarják használni. A Java programozás fontos szempontja. Értsük meg, hogy mi a Java névtelen osztálya a következő sorrendben:

Névtelen osztályok bejelentése





milyen korlátok vannak az sql-ben

Normál esetben létrehozunk egy osztályt, vagyis deklaráljuk az osztályt, de az anonim osztályok kifejezések, ami azt jelenti, hogy az anonim osztályt egy másikban definiáljuk kifejezés . Egyszerű szavakkal: az anonim belső osztály név nélküli osztály, és csak egy objektum jön létre.

Anonymous-Class-In-Java



Az anonim osztály akkor hasznos, ha az objektum egy példányát egy osztály vagy interfész túlterhelési módszereivel kell létrehoznunk anélkül, hogy létrehoznánk az osztály egy alosztályát.

Az Névtelen kétféle módon hozható létre:

  • Osztály (lehet absztrakt is)
  • Felület

Az anonim osztályban a következőket deklarálhatjuk:



  • Mezők
  • Extra módszerek
  • Példánykezdeményezők
  • Helyi osztályok

A Java névtelen osztályának szintaxisa

Az anonim osztály szintaxisa ugyanolyan, mint a konstruktor, azzal a különbséggel, hogy a blokkban van osztálydefiníció, amint azt az alábbi kódrészlet mutatja:

// AnonymousClass = interfész, absztrakt / konkrét osztály. AnonymousClass t = new AnonymousClass () {// metódusok és mezők public void someMethod () {// kód ide megy}}

Vessünk egy pillantást a következő példára:

A következő példa,HelloAnonymousClass, névtelen osztályokat használ a helyi változók inicializálási utasításaibanüdvözölni valakitde egy lokális osztályt használ a változó inicializálásáhozüdvözletVilág:

public class HelloAnonymousClass {interface HelloWorld {public void sayHello () public void sayHelloTo (String valaki)} public void sayHello () {class GreetWorld implementálja HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} public void sayHelloTo (String valaki) {name = valaki System.out.println ('Hello' + név)}} HelloWorld greetWorld = new GreetWorld () HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} public void sayHelloTo (String valaki) {név = valaki System.out.println ('hola' + név)}} greetWorld.sayHello () greetSomeone.sayHelloTo ('Doe')} nyilvános statikus void main (String ... args) {HelloAnonymousClass myApp = new HelloAnonymousClass () myApp.sayHello ()}}

Amint láttuk, hogy az anonim osztály kifejezés, a szintaxis olyan, mint a konstruktor, kivéve, hogy a blokkban van osztálydefiníció. Fontolja meg a greetSomeone objektum példányosítását:

HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello () {sayHelloTo ('Jon')} public void sayHelloTo (String valaki) {név = valaki System.out.println ('hola' + név) }}

Az anonim osztály a következőkből áll:

  • új üzemeltető.
  • Meg tud valósítani egy interfészt vagy kibővíteni egy osztályt. A fenti példához hasonlóan az interfészt is megvalósítja.
  • A normál osztályokhoz hasonlóan zárójeleket tartalmaz, hogy argumentumokat adjon át a konstruktornak.
  • Testet tartalmaz, amely metódusdeklarációkat tartalmaz. A nyilatkozatok nem megengedettek.

Az anonim osztálynak része kell lennie az állításoknak.

A fenti példában az anonim osztálykifejezés az utasítás által kezdeményezett utasítás részeüdvözölni valakit.

Anonim osztály létrehozásának módjai Java-ban

A belső osztály Java-ban 3 módon hozható létre

  • Osztály kiterjesztésével

Létrehozhatunk egy névtelen belső osztályt egy másik osztály kibővítésével, tegyük fel, hogy egy szálat kell létrehoznunk a Thread osztály használatával, anonim belső osztályt hozhatunk létre külön osztály létrehozása helyett.

// Program az Anonymous Inner osztály szemléltetésére egy másik osztály osztályának kibővítésével AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class, amely kiterjeszti a Thread osztály Thread t = new Thread () {public void run () {System .out.println ('Gyermek!')}} t.start () System.out.println ('Szülő!')}}

Kimenet:

Szülő!

mikor kell ezt használni. java-ban

Gyermek!

  • Interfész megvalósításával

A felület megvalósításával névtelen belső osztályt is létrehozhatunk. Amint létrehoztunk egy belső osztályt az osztály hasonló kiterjesztésével, létrehozhatunk egy osztályt, amely interfészt valósít meg.

// Program az Anonymous Inner osztály szemléltetésére az AnonymousThreadClass {public static void main (String [] args) {// interfész osztályt megvalósító Anonymous Inner osztály, amely az interfészt futtatja Runnable r = new Runnable () {public void run () {System.out .println ('Gyermek!')}} Téma t = új Téma (r) t.start () System.out.println ('Szülő!')}}

Kimenet:

Szülő!

Gyermek!

  • A Method / Constructor argumentumaként

A szintaxis megértéséhez nézzük meg az alábbi példát:

// Program az Anonymous Inner osztály illusztrálására argumentumosztályokkal AnonymousThreadClass {public static void main (String [] args) {// Anonymous class with konstruktor argumentum Thread t = new Thread (new Runnable () {public void run () {System. out.println ('Gyerek!')}}) t.start () System.out.println ('Szülő!')}}

Kimenet:

Szülő!

összegezze a számokat egy egész Java számban

Gyermek!

Különbség a normál és a névtelen belső osztály között

  • Meg tudjuk valósítani többféle interfész normál osztály használatával, de anonim belső osztály esetén csak egy interfészt tudunk megvalósítani.

  • Rendes órával tudjuk osztály kibővítése és több interfészt is megvalósít, de egy névtelen belső osztállyal kibővíthetünk egy osztályt, vagy megvalósíthatunk egy interfészt, de nem mindkettőt egyszerre.

  • Névtelen mi nem tud konstruktort írni Mivel az anonim belső osztálynak nincs neve, és a konstruktor nevének meg kell egyeznie az osztály nevével.

Ebben a cikkben azt láttuk, hogy mi a névtelen belső osztály, és hogyan hozhatunk létre ilyet. végignéztük az anonim belső osztály szintaxisát, és azt is, hogy miként hozhatunk létre névtelen osztályt 3 módon, és ezzel véget érünk ennek a Névtelen osztály Java-cikknek. Nézze meg a írta Edureka.

Kérdésed van? Említse meg a cikk Megjegyzés szakaszában, és a lehető leghamarabb kapcsolatba lépünk Önnel.