Turinys
Kai dirbame kurdami vartotojo sąsajas „Java“, turime skirti ypatingą dėmesį ir pastangas kurdami skirtingus metodus Klausytojas arba klausytojai, kurie fiksuoja visus įvykius, kuriuos galima sukurti naudojant vartotojo veiksmus.Kiek kartų kiekviena iš šių klasių Klausytojas jie bus skirti tik tam tikram mūsų kuriamos sistemos ar programos komponento naudojimui ir vartojimui, nėra daug prasmės sudaryti išsamias ir atskiras klases.
Štai kodėl mes turime anoniminės klasės, kuriuo galime sutrumpinti apibrėžimą Klausytojas ir taip supaprastinti jo įgyvendinimą mūsų programose.
Kaip minėjome pradžioje, kurdami tokio tipo komponentus Klausytojas Norėdami valdyti mūsų vartotojo sąsajos elementų įvykius, jie paprastai turi labai konkretų tikslą, kurio negalima pakartotinai naudoti, todėl galime pasirinkti juos generuoti kaip įterptas klases ir taip šiek tiek supaprastinti generuojamą kodą.
Anoniminės klasėsTačiau, kaip geri programuotojai, mums tikrai reikės ką nors patobulinti ir padaryti dar paprastesnius, būtent čia anoniminės klasės, tai leidžia mums sukurti a įdėta klasė ir jos egzempliorius vienu žingsniu, tai užtikrinsime, kad palengvintume skirtingų vartotojo sąsajų kūrimą.
Toliau pažiūrėkime keletą pavyzdžių, kaip galime įgyvendinti anoniminę klasę, pradedant nuo įdėtos klasės:
Matome, kad pirmoje dalyje apibrėžiame a viešas metodas ir tada mes sudarome įdėtą klasę, ši klasė yra atsakinga už a įgyvendinimą Sąsaja siekiant įgyvendinti a Klausytojas įvykiams, kuriuos galima sukurti programoje.
Apačioje mes padarėme tą patį, kaip ir pradžioje, tik tai, kad vietoj apibrėžtos lizdinės klasės apibrėžiame anoniminė klasė, su kuria galime įgyvendinti sąsają ir padaryti egzempliorių vienu žingsniu, taip efektyviai sumažindami vykdytino kodo eilutes.
- A anoniminė klasė tai iš tikrųjų yra ypatinga įdėtų klasių rūšis ir bus traktuojama kaip tokia, tačiau to padaryti negalima tęsiasi arba padargus aiškiai.
- A anoniminė klasė visada turi įgyvendinti abstrakčius super klasės metodus arba Sąsaja.
- The anoniminės klasės jie visada naudos aukštesnės klasės konstruktoriaus be argumento formą. Tuo atveju, jei bus įdiegta sąsaja, konstruktorius bus Objektas.
- Kiekvienai anoniminei klasei, kuri yra sudaryta, „Java“ sugeneruos .class failą, kuriame kiekvienas bus identifikuojamas, pavyzdžiui, jų paėmimo tvarka ClassExternal $ 1class, ClassExternal $ 2.class ir taip toliau.