Java programos išvestis | 8 rinkinys

Sunkumo lygis : Vidutinis
Numatykite šių „Java“ programų išvestį.
1 programa:
 

Java
   class   GfG   {      public     static     void     main  (  String     args  []  )      {      String     s1     =     new     String  (  'geeksforgeeks'  );      String     s2     =     new     String  (  'geeksforgeeks'  );      if     (  s1     ==     s2  )         System  .  out  .  println  (  'Equal'  );      else      System  .  out  .  println  (  'Not equal'  );      }   }   

Išvestis: 
 

Not equal 


Paaiškinimas: Kadangi s1 ir s2 yra du skirtingi objektai, nuorodos nėra vienodos, o operatorius == lygina objekto nuorodą. Taigi jis išspausdina „Nelygus“, kad palygintų tikruosius simbolius eilutėje Turi būti naudojamas .equals() metodas. 
 
2 programa:  
 

Java
   class   Person      {         private     void     who  ()      {      System  .  out  .  println  (  'Inside private method Person(who)'  );      }          public     static     void     whoAmI  ()      {      System  .  out  .  println  (  'Inside static method Person(whoAmI)'  );      }          public     void     whoAreYou  ()      {      who  ();      System  .  out  .  println  (  'Inside virtual method Person(whoAreYou)'  );      }   }   class   Kid     extends     Person   {         private     void     who  ()      {      System  .  out  .  println  (  'Kid(who)'  );      }          public     static     void     whoAmI  ()      {      System  .  out  .  println  (  'Kid(whoAmI)'  );      }          public     void     whoAreYou  ()      {      who  ();      System  .  out  .  println  (  'Kid(whoAreYou)'  );      }   }   public     class   Gfg   {      public     static     void     main  (  String     args  []  )         {      Person     p     =     new     Kid  ();         p  .  whoAmI  ();         p  .  whoAreYou  ();         }   }   

Išvestis: 
 

Inside static method Person(whoAmI) Kid(who) Kid(whoAreYou) 


Paaiškinimas: Statinis susiejimas (arba kompiliavimo laikas) vyksta statiniams metodams. Čia p.whoAmI() iškviečia statinį metodą, todėl jis iškviečiamas kompiliavimo metu, todėl atsiranda statinis susiejimas ir spausdinamas metodas Asmens klasėje. 
kadangi p. kas tu() iškviečia metodą Vaikinas klasė, nes pagal numatytuosius nustatymus „Java“ jį laiko virtualiu metodu, ty dinaminiu įrišimu.
 
3 programa:  
 

Java
   class   GfG   {      public     static     void     main  (  String     args  []  )      {      try      {      System  .  out  .  println  (  'First statement of try block'  );      int     num  =  45  /  3  ;      System  .  out  .  println  (  num  );      }      catch  (  Exception     e  )      {      System  .  out  .  println  (  'Gfg caught Exception'  );      }      finally      {      System  .  out  .  println  (  'finally block'  );      }      System  .  out  .  println  (  'Main method'  );      }   }   

Išvestis: 
 

First statement of try block 15 finally block Main method 


Paaiškinimas:  
Kadangi nėra išimtis, gaudymo blokas vadinamas ne, o vadinamas pagaliau blokas visada vykdomas po bandymo bloko, nesvarbu, ar išimtis tvarkoma, ar ne.
  
4 programa:  
 

Java
   class   One     implements     Runnable      {      public     void     run  ()         {      System  .  out  .  print  (  Thread  .  currentThread  ().  getName  ());      }   }   class   Two     implements     Runnable      {      public     void     run  ()         {      new     One  ().  run  ();      new     Thread  (  new     One  ()  'gfg2'  ).  run  ();      new     Thread  (  new     One  ()  'gfg3'  ).  start  ();      }   }   class   Three      {      public     static     void     main     (  String  []     args  )         {      new     Thread  (  new     Two  ()  'gfg1'  ).  start  ();      }   }   

Išvestis: 
 

gfg1gfg1gfg3 


Paaiškinimas: Iš pradžių nauja tema pradedama pavadinimu gfg1 tada Antroje klasėje pirmojo paleidimo metodas paleidžia giją su pavadinimu gfg1 tada po to sukuriama nauja gija, kuri iškviečia paleisties metodą, bet kadangi naują giją galima sukurti tik iškviečiant pradžios metodą, ankstesnė gija atlieka veiksmą ir vėl gfg1 spausdinama. Dabar nauja gija sukuriama iškviečiant pradžios metodą, kad nauja gija prasidėtų gfg3 pavadinimas, taigi ir atspaudai gfg3 .