Часови родитеља и детета који имају истог члана података у Јави

У Ц ++ имамо све методе члана класе као не-виртуални. Да бисмо направили тако да морамо да користимо кључну реч као префикс познат као виртуалан . Док је у Јави, све методе чланова класе имамо као виртуалне подразумевано. Да би их учинили не-виртуалним, користимо кључну реч коначан .

Референтне променљиве у Јави су у основи променљиве које држе адресу објекта у хексадецималном типу који се касније претвори у бинарни систем који је у основи адреса предмета који се чува на хрпи меморије.

Референтне променљиве које се разликују од примитивних врста јер се њихова величина не може израчунати. У Јави је референтна променљива матичне класе у стању да држи референцу објекта као и њеног референца на објектима. Да видимо о члановима који нису методе уз помоћ примера.

Пример:

Java
   // Java Program to Demonstrate that Non-method Members   // are Accessed according to Reference Type   // (Unlike methods that are accessed according   // to the referred object)   // Class 1   // Super class   class   Parent     {      int     value     =     1000  ;      // Constructor of super class      Parent  ()      {      // Print statement      System  .  out  .  println  (  'Parent Constructor'  );      }   }   // Class 2   // Sub class   class   Child     extends     Parent     {      int     value     =     10  ;      // Constructor of sub class      Child  ()      {      // Print statement      System  .  out  .  println  (  'Child Constructor'  );      }   }   // Class 3   // Main class   class   GFG     {      // Main driver method      public     static     void     main  (  String  []     args  )      {      // Creating an object of sub class inside main()      // method      Child     obj     =     new     Child  ();      // Printing the reference of child type      System  .  out  .  println  (  'Reference of Child Type :'      +     obj  .  value  );      // Note that doing 'Parent par = new Child()'      // would produce same result      Parent     par     =     obj  ;      // Par holding obj will access the value      // variable of parent class      // Printing the reference of parent type      System  .  out  .  println  (  'Reference of Parent Type : '      +     par  .  value  );      }   }   

Излаз
Parent Constructor Child Constructor Reference of Child Type :10 Reference of Parent Type : 1000 

Излазна објашњење: Ако је родитељска референтна променљива држи референцу на разреду детета и имамо променљиву "вредност" у матичном и дечијем разреду, односиће се на променљиву матичну класу "Вредност", да ли има референцу објекта за дечије класе. Референтни холдинг Референца објекта Дечије класе неће моћи да приступа члановима (функцијама или променљивим) дечије класе. То је зато што референтна варијабла родитеља може само приступити пољима која су у матичној класи. Стога врсту референтне променљиве одлучи да ће се назвати верзија "вредности", а не врста објекта која се инстантира. То је зато што преводилац користи посебан полиморфизам полиморфизам само за методе. (Тамо је врста објекта која је инстантирана одлучила је која верзија методе која се зове).

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