Anonyymin luokan toteuttaminen Java-sovelluksessa

Tämä blogi antaa sinulle yksityiskohtaisen ja kattavan tiedon Java-nimettömästä luokasta, esimerkkejä ja miten se eroaa tavallisesta luokasta.

Anonyymien luokkien avulla voit kirjoittaa pienen koodin ja antaa sinun ilmoittaa ja välittää luokan samalla. Näillä luokilla ei ole nimiä, sitä käytetään, kun haluat käyttää mitä tahansa luokkaa vain kerran. Se on tärkeä osa Java-ohjelmointia. Ymmärretään, mikä on nimettömän luokan Java Java seuraavassa järjestyksessä:

Anonyymien luokkien julistaminen





Normaalisti luomme luokan eli julistamme luokan, mutta nimettömät luokat ovat ilmaisuja, mikä tarkoittaa, että määritämme nimettömän luokan toisessa ilmaisu . Yksinkertaisesti sanottuna anonyymi sisäluokka on luokka ilman nimiä ja luodaan vain yksi esine.

Anonymous-Class-In-Java



jaksollinen taulukko devops-työkaluista

Anonyymi luokka on hyödyllinen, kun meidän on luotava objektin esiintymä luokan tai käyttöliittymän ylikuormitusmenetelmillä luomatta luokan alaluokkaa.

Nimetön voidaan luoda kahdella tavalla:

  • Luokka (voi olla myös tiivistelmä)
  • Käyttöliittymä

Nimettömässä luokassa voimme julistaa seuraavat:



  • Kentät
  • Lisämenetelmät
  • Ilmentymien alustusohjelmat
  • Paikalliset luokat

Anonyymin luokan syntaksi Javalla

Anonyymin luokan syntaksi on aivan kuten konstruktori, paitsi että lohkossa on luokan määritelmä, kuten alla olevassa katkelmassa näkyy:

// AnonymousClass = rajapinta, abstrakti / konkreettinen luokka. AnonymousClass t = new AnonymousClass () {// menetelmät ja kentät public void someMethod () {// -koodi menee tänne}}

Tarkastellaan seuraavaa esimerkkiä:

Seuraava esimerkkiHelloAnonymousClass, käyttää nimettömiä luokkia paikallisten muuttujien alustuslausekkeissatervehtiä jotakutamutta käyttää muuttujan alustamiseen paikallista luokkaatervehdysmaailma:

public class HelloAnonymousClass {interface HelloWorld {public void sayHello () public void sayHelloTo (String someone)} public void sayHello () {class GreetWorld toteuttaa HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} public void sayHelloTo (Merkkijono) {name = someone System.out.println ('Hello' + name)}} HelloWorld greetWorld = new GreetWorld () HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} public void sayHelloTo (merkkijono jonkun) {nimi = joku System.out.println ('hola' + nimi)}} greetWorld.sayHello () greetSomeone.sayHelloTo ('Doe')} julkinen staattinen void main (String ... args) {HelloAnonymousClass myApp = new HelloAnonymousClass () myApp.sayHello ()}}

Kuten olemme nähneet, että anonyymi luokka on lauseke, syntaksi on aivan kuten konstruktori, paitsi että lohkossa on luokan määritelmä. Harkitse HelloSomeone-objektin instantointia:

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

Nimetön luokka koostuu seuraavista:

  • uusi operaattori.
  • Se voi toteuttaa käyttöliittymän tai laajentaa luokkaa. Kuten yllä olevassa esimerkissä, se toteuttaa käyttöliittymän.
  • Se sisältää sulkeita aivan kuten tavalliset luokat argumenttien välittämiseksi rakentajalle.
  • Sisältää rungon, joka sisältää menetelmäilmoitukset. Julistuksia ei sallita.

Anonyymin luokan tulisi olla osa lausuntoja.

Edellä olevassa esimerkissä nimettömän luokan lauseke on osa lausetta, jonka aloittitervehtiä jotakuta.

Tapoja luoda nimettömiä luokkia Java: ssa

Sisäisen luokan luominen Java-järjestelmään on 3 tapaa

  • Laajentamalla luokkaa

Voimme luoda nimettömän sisäisen luokan laajentamalla toista luokkaa, oletetaan, että meidän on luotava ketju Thread-luokkaa käyttämällä, voimme luoda nimettömän sisäisen luokan erillisen luokan luomisen sijaan.

// Ohjelma havainnollistamaan Anonymous Inner -luokkaa laajentamalla toista luokan luokkaa AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class, joka laajentaa säieluuokaa Thread t = new Thread () {public void run () {System .out.println ('lapsi!')}} t.start () System.out.println ('vanhempi!')}}

Tuotos:

Vanhempi!

Lapsi!

  • Toteuttamalla käyttöliittymä

Voimme myös luoda tuntemattoman sisäisen luokan toteuttamalla käyttöliittymän. Kun olemme luoneet sisäisen luokan laajentamalla luokkaa samalla tavalla, voimme luoda luokan, joka toteuttaa käyttöliittymän.

asenna php Windows 10: een
// Ohjelma havainnollistamaan Anonymous Inner -luokkaa toteuttamalla käyttöliittymäluokka AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class, joka toteuttaa käyttöliittymän Runnable r = new Runnable () {public void run () {System.out .println ('lapsi!')}} Kierre t = uusi ketju (r) t.start () System.out.println ('Vanhempi!')}}

Tuotos:

Vanhempi!

Lapsi!

  • Argumenttina Method / Constructorille

Seuraavassa esimerkissä ymmärretään syntaksia:

// Ohjelma havainnollistamaan Anonymous Inner -luokkaa argumenttiluokalla AnonymousThreadClass {public static void main (String [] args) {// Anonymous class with konstruktori argument Thread t = new Thread (new Runnable () {public void run () {System. out.println ('lapsi!')}}) t.start () System.out.println ('vanhempi!')}}

Tuotos:

Vanhempi!

Lapsi!

Ero tavallisen ja nimettömän sisäosan välillä

  • Voimme toteuttaa useita rajapintoja käyttämällä normaalia luokkaa, mutta nimettömän sisäisen luokan kanssa voimme toteuttaa vain yhden käyttöliittymän.

  • Tavallisella luokalla voimme laajenna luokkaa ja myös toteuttaa useita rajapintoja, mutta nimettömän sisäisen luokan avulla voimme joko laajentaa luokkaa tai toteuttaa käyttöliittymän, mutta emme molempia samanaikaisesti.

  • Nimetön me ei voi kirjoittaa rakentajaa koska nimettömällä sisäisellä luokalla ei ole nimeä ja rakentajan nimen tulisi olla sama kuin luokan nimen.

Tässä artikkelissa näimme, mikä on nimetön sisäinen luokka ja miten voimme luoda sellaisen. käytiin läpi nimettömän sisäisen luokan syntaksin ja kuinka voimme luoda nimettömän luokan kolmella tavalla, ja tällä tavoin olemme päässeet loppuun tämän nimettömän luokan Java-artikkelissa. Katso kirjoittanut Edureka.

sql-palvelimen integraatiopalvelut ssis vaihe vaiheelta

Onko sinulla kysyttävää? Mainitse se tämän artikkelin Kommentti-osiossa, niin otamme sinuun yhteyttä mahdollisimman pian.