Како имплементирати угнежђену класу у Јави?



Овај чланак о угнежђеној класи у јави помоћи ће вам да разумете како да примените угнежђене класе уз помоћ програма.

У Јави се класа може дефинисати у оквиру друге класе и такве класе су познате као угнежђене класе. Ови часови помажу вам да логички групишете часове који се користе само на једном месту. Ово повећава употребу енкапсулације и ствара читљивији и одрживији код. Овај блог на тему „Угнеждене класе у Јави“ даће вам брз и прецизан увод у угнежђене класе у . Испод су теме обрађене на овом блогу:

Угњежђена класа у Јави

Тхе класа написан унутар класе назива се угнежђена класа, док се класа која садржи унутрашњу класу назива спољна класа. Испод су неке тачке које треба запамтити за угнежђене класе у Јави -





  • Опсег угнежђене класе ограничен је њеном затвореном класом.
  • Угнеждена класа има приступ члановима класе у којој је угнежђена. Али, класа која затвара не може приступити члановима угнежђене класе.
  • Угнијежђена класа је њен члан класе који обухвата.
  • Угнијежђена класа може се прогласити јавном, приватном, заштићеном или приватном у пакету.

Врсте угнежђених класа

Унутрашња / нестатична угнежђена класа: У Јави су не-статичке класе сигурносни механизам. Класа се не може повезати са приступ уређивању привате, али ако имате класу као члана друге класе, онда се не-статичка класа може учинити приватном.

Врсте интерних класа & минус



  • Унутрашња класа
  • Метода-локални Иннер Цласс
  • Анонимна унутрашња класа

Унутрашња класа

Да бисте креирали унутрашњу класу, потребно је само да напишете класу у класи. Унутрашња класа може бити приватна којој није могуће приступити са објект изван разреда. Испод је програм за стварање унутрашње класе. У овом примеру, унутрашња класа постаје приватна и њој се приступа путем методе.

класа Оутер_Тест {инт нум // унутрашња класа приватна класа Иннер_Тест {публиц воид принт () {Систем.оут.принтлн ('Ово је наша унутрашња класа')}}} // Приступ унутрашњој класи из методе воид дисплаи_Иннер () { Иннер_Тест иннер = нев Иннер_Тест () иннер.принт ()}} јавна класа Ми_цласс {публиц статиц воид маин (Стринг аргс []) {// Инстантирање спољне класе Оутер_Тест ектернал = нев Оутер_Тест () // Приступ методи дисплаи_Иннер () . ектернал.дисплаи_Иннер ()}}

Оутпут
Угњежђена класа унутрашња- Едурека

Метода-локални Иннер Цласс

У Јави се класа може написати у оквиру и то је локални тип. Слично локалним променљивим, опсег унутрашње класе је ограничен унутар методе. Локална унутрашња класа метода-локална уграђена је само у методу где је дефинисана унутрашња класа. Програм у наставку показује како се користи унутрашња класа на локалном нивоу.



јавна класа Оутерцласс {// инстанца метода спољне класе воид ми_Метход () {инт нум = 1001 // метода-локална класа класе СтарИннер_Тест {публиц воид принт () {Систем.оут.принтлн ('Ово је звезда унутрашња класа' + нум)}} // крај унутрашње класе // Приступ унутрашњој класи СтарИннер_Тест стар = нев СтарИннер_Тест () стар.принт ()} публиц статиц воид маин (Стринг аргс []) {Оутерцласс ектернал = нев Оутерцласс () ектернал. ми_Метход ()}}

Оутпут

обрнуте цифре целобројног питона

Анонимна унутрашња класа

Анонимна унутрашња класа је унутрашња класа декларисана без назива класе. У анонимној унутрашњој класи то истовремено декларишемо и инстанцирамо. Обично се користе када треба да замените метод класе или интерфејса. Програм у наставку показује како се користи анонимна унутрашња класа -

апстрактна класа АнонимоусИннерТест {публиц абстрацт воид митест ()} публиц цласс Оутер_цласс {публиц статиц воид маин (Стринг аргс []) {АнонимоусИннерТест иннер = нев АнонимоусИннерТест () {публиц воид митест () {Систем.оут.принтлн ('Ово је пример анонимне класе унутрашњег теста ')}} иннер.митест ()}}

Оутпут-

Статична угнежђена класа: ДО је угнежђена класа која је статички члан спољне класе. За разлику од интерне класе, статичка угнежђена класа не може приступити променљивим чланова спољне класе, јер статичка угнежђена класа не захтева инстанцу спољне класе. Дакле, нема референце на спољну класу са ОутерЦласс.тхис. Синтакса статичке угнежђене класе је -

класа МиОутер {статиц цласс Нестед_Тест {}}

Пример статичке угнежђене класе

јавна класа Оутер {статиц цласс Нестед_Тест {публиц воид ми_метход () {Систем.оут.принтлн ('Ово је угњежђена тест класа Едурека')}} публиц статиц воид маин (Стринг аргс []) {Оутер.Нестед_Тест угнежђено = нев Оутер. Нестед_Тест () нестед.ми_метход ()}}

Оутпут

је атом добар за питхон

Разлика између статичких и нестатичних угнежђених класа

Статичне угнежђене класе немају приступ осталим члановима класе која обухвата. Будући да је статичан, мора приступити не-статичким члановима своје класе која се затвара путем објекта, што значи да се не може директно позивати на нестатичне чланове своје класе која обухвата. И због овог ограничења, статичне угнежђене класе се ретко користе.

Нестатичне угнежђене класе имају приступ свим члановима њене спољне класе и могу се директно на њих позивати на исти начин на који то раде и други не-статички чланови спољне класе.

Пре него што дођемо на крај овог чланка, погледајмо неколико кључних тачака.

Кључне тачке које треба запамтити

  • Унутрашња класа се третира као редовни члан класе.
  • Будући да је унутрашња класа припадници спољне класе, на своју унутрашњу класу можете применити различите модификаторе приступа попут заштићених, приватних.
  • Пошто је угнежђена класа члан њене класе која обухвата, можете да је користите. (тачка) нотација да би се приступило угнежђеној класи и њеним члановима.
  • Коришћење угнежђене класе чини ваш код читљивијим и пружа га бољим инкапсулација .
  • Унутрашња класа има приступ осталим члановима спољне класе, чак и ако су проглашени приватним.

Овим смо дошли до краја овог блога о угнежђеним часовима на Јави. Ако желите да сазнате више о Јави, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „Угнеждена класа на Јави“ и јавићемо вам се што је пре могуће.