Paano Ipapatupad ang Nested Class sa Java?



Ang artikulong ito sa pugad na klase sa java ay makakatulong sa iyo na maunawaan kung paano ipatupad ang mga pugad na klase sa tulong ng isang halimbawa ng programa.

Sa Java, ang isang klase ay maaaring tukuyin sa loob ng isa pang klase at ang mga naturang klase ay kilala bilang mga klase na may pugad. Ang mga klaseng ito ay makakatulong sa iyo upang lohikal na mga klase ng pangkat na ginagamit lamang sa isang lugar. Dagdagan nito ang paggamit ng encapsulation at lumilikha ng isang mas nababasa at napapanatili na code. Ang blog na ito sa 'Pugad na Klase sa Java' ay magbibigay sa iyo ng mabilis na panimula sa mga pugad na klase sa . Nasa ibaba ang mga paksang sakop sa blog na ito:

Pugad na Klase sa Java

Ang klase ang nakasulat sa loob ng isang klase ay tinatawag na klase ng pugad habang ang klase na nagtataglay ng panloob na klase ay tinatawag na panlabas na klase. Nasa ibaba ang ilang mga puntos na dapat tandaan para sa mga pugad na klase sa Java -





  • Ang saklaw ng isang nakapugad na klase ay nalilimitahan ng nakapaloob na klase nito.
  • Ang isang nakapugad na klase ay may access sa mga miyembro ng klase kung saan ito ay pugad. Ngunit, hindi ma-access ng nakapaloob na klase ang mga kasapi ng pugad na klase.
  • Ang isang pugad na klase ay ang nakapaloob na miyembro ng klase.
  • Ang isang nakapugad na klase ay maaaring ideklara sa publiko, pribado, protektado o pribado sa package.

Mga uri ng pugad na klase

Inner / Non-static na pugad na klase: Sa Java, ang mga hindi static na klase ay isang mekanismo ng seguridad. Ang isang klase ay hindi maiugnay sa i-access ang pag-edit pribado, ngunit kung mayroon kang klase bilang isang kasapi ng ibang klase, kung gayon ang di-static na klase ay maaaring gawing pribado.

Mga uri ng mga panloob na klase at minus



  • Inner Class
  • Paraan-lokal na Inner Class
  • Anonymous Inner Class

Inner Class

Upang lumikha ng isang panloob na klase kailangan mo lamang magsulat ng isang klase sa loob ng isang klase. Ang isang panloob na klase ay maaaring maging pribado na hindi mai-access mula sa isang bagay sa labas ng klase. Nasa ibaba ang isang programa upang lumikha ng isang panloob na klase. Sa halimbawang ito, ang panloob na klase ay ginawang pribado at na-access ang klase sa pamamagitan ng isang pamamaraan.

class Outer_Test {int num // inner class private class Inner_Test {public void print () {System.out.println ('This is an Our inner class')}} // Pag-access sa panloob na klase mula sa pamamaraang walang bisa sa display_Inner () { Inner_Test panloob = bagong Inner_Test () panloob.print ()}} pampublikong klase My_class {public static void main (String args []) {// Instantiating the panlabas na klase Outer_Test panlabas = bagong Outer_Test () // Pag-access sa display_Inner () na pamamaraan . panlabas.display_Inner ()}}

Paglabas
Pugad sa loob ng klase- Edureka

Paraan-lokal na Inner Class

Sa Java, ang isang klase ay maaaring maisulat sa loob ng a at ito ay isang lokal na uri. Katulad ng mga lokal na variable, ang saklaw ng isang panloob na klase ay pinaghihigpitan sa loob ng pamamaraan. Ang isang pamamaraan-lokal na panloob na klase ay isinasama lamang sa loob ng pamamaraan kung saan tinukoy ang panloob na klase. Ipinapakita ng programa sa ibaba kung paano gumamit ng isang pamamaraan-lokal na panloob na klase.



pampublikong klase Outerclass {// halimbawa na pamamaraan ng panlabas na klase na walang bisa ang aking_Method () {int num = 1001 // pamamaraan-lokal na klase sa loob ng klase na StarInner_Test {publiko walang bisa na naka-print () {System.out.println ('Ito ang panloob na klase ng bituin' + num)}} // pagtatapos ng panloob na klase // Pag-access sa panloob na klase StarInner_Test bituin = bagong StarInner_Test () star.print ()} pampublikong static void main (String args []) {Outerclass panlabas = bagong Outerclass () panlabas. my_Method ()}}

Paglabas

kung paano lumikha ng isang singleton na klase sa java

Anonymous Inner Class

Ang hindi nagpapakilalang panloob na klase ay isang panloob na klase na idineklara nang walang pangalan ng klase. Sa isang hindi nagpapakilalang panloob na klase, idedeklara at binago namin ito nang sabay-sabay. Pangkalahatan ang mga ito ay ginagamit kapag kailangan mong i-override ang pamamaraan ng isang klase o isang interface. Ipinapakita ng program sa ibaba kung paano gumamit ng isang hindi nagpapakilalang panloob na klase -

abstract class AnonymousInnerTest {public abstract void mytest ()} public class Outer_class {public static void main (String args []) {AnonymousInnerTest panloob = bagong AnonymousInnerTest () {public void mytest () {System.out.println ('Ito ay isang halimbawa ng hindi nagpapakilalang klase ng panloob na pagsubok ')}} panloob.mytest ()}}

Output-

Static na pugad na klase: SA ay isang pugad na klase na isang static na miyembro ng panlabas na klase. Hindi tulad ng panloob na klase, hindi ma-access ng klase ng static na naka-salag ang mga variable ng miyembro ng panlabas na klase dahil ang static na may pugad na klase ay hindi nangangailangan ng isang halimbawa ng panlabas na klase. Samakatuwid, walang sanggunian sa panlabas na klase sa OuterClass.ito. Ang syntax ng isang static na pugad na klase ay -

klase MyOuter {static class Nested_Test {}}

Halimbawa ng Static Nested Class

pampublikong klase Outer {static class Nested_Test {public void my_method () {System.out.println ('Ito ang pugad na pagsubok na klase ni Edureka')}} pampubliko na static void main (String args []) {Outer.Nested_Test nested = bagong Outer. Nested_Test () nested.my_method ()}}

Paglabas

Pagkakaiba sa Pagitan ng Static at Non-static na Pugad na Mga Klase

Ang mga static na nakapugad na mga klase ay walang access sa iba pang mga miyembro ng nakapaloob na klase nang direkta. Dahil static, dapat itong ma-access ang mga di-static na kasapi ng nakapaloob na klase nito sa pamamagitan ng isang bagay na nangangahulugang hindi ito direktang mag-refer sa mga hindi static na miyembro ng enclosing class nito. At dahil sa paghihigpit na ito, ang mga static na may pugad na klase ay bihirang gamitin.

Ang mga klase na hindi naka-static na may pugad ay may access sa lahat ng mga miyembro ng panlabas na klase at maaaring direktang mag-refer sa kanila sa parehong paraan na ginagawa ng ibang mga hindi static na miyembro ng panlabas na klase.

Bago tayo magtapos sa artikulong ito, tingnan muna natin ang ilang mga pangunahing punto.

Mga Pangunahing Puntong Dapat Tandaan

  • Ang panloob na klase ay ginagamot bilang isang regular na miyembro ng isang klase.
  • Dahil ang panloob na klase ay kasapi ng panlabas na klase, maaari kang maglapat ng iba't ibang mga modifier ng pag-access tulad ng protektado, pribado sa iyong panloob na klase.
  • Dahil ang klase ng Nested ay isang miyembro ng nakapaloob na klase nito, maaari mong gamitin. (tuldok) notasyon upang ma-access ang pugad na klase at mga kasapi nito.
  • Ang paggamit ng isang nakapugad na klase ay ginagawang mas nababasa ang iyong code at nagbibigay ng mas mahusay encapsulation .
  • Ang panloob na klase ay may access sa iba pang mga miyembro ng panlabas na klase, kahit na ipinahayag silang pribado.

Sa pamamagitan nito, natapos namin ang blog na ito sa mga pugad na klase sa Java. Kung nais mong malaman ang tungkol sa Java, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Nested Class in Java' na ito at babalikan ka namin sa lalong madaling panahon.