Utdata från Java-program | Set 6

Svårighetsgrad: Medel

Förutsäg resultatet av följande Java-program.

Program 1: Konstruktörskedja

Java
   class   First   {      public     First  ()     {         System  .  out  .  println  (  'a'  );         }   }       class   Second     extends     First   {      public     Second  ()     {         System  .  out  .  println  (  'b'  );         }   }       class   Third     extends     Second   {      public     Third  ()     {         System  .  out  .  println  (  'c'  );         }   }       public     class   MainClass   {      public     static     void     main  (  String  []     args  )      {      Third     c     =     new     Third  ();      }   }   

Produktion
a b c  

Förklaring: När ett 'tredje' objekt skapas innan du anropar standardkonstruktorn för Tredje klass standardkonstruktorn för superklass, dvs. Andra klass anropas och sedan igen före standardkonstruktören för superklassens standardkonstruktor för Första klass kallas. Och därför är utgången i ordningen a b c.


Program 2: Variabel initiering och konstruktörsutförande

Java
   class   First   {      int     i     =     10  ;          public     First  (  int     j  )      {      System  .  out  .  println  (  i  );         this  .  i     =     j     *     10  ;      }   }       class   Second     extends     First   {      public     Second  (  int     j  )      {      super  (  j  );         System  .  out  .  println  (  i  );         this  .  i     =     j     *     20  ;      }   }       public     class   MainClass   {      public     static     void     main  (  String  []     args  )      {      Second     n     =     new     Second  (  20  );         System  .  out  .  println  (  n  .  i  );      }   }   

Produktion
10 200 400  

Förklaring: Eftersom den i klassen 'Andra' inte har sitt eget 'i' ärvs variabeln från superklassen. Även konstruktorn av förälder kallas när vi skapar ett objekt av Andra.


Program 3: instans av med Iterators

Java
   import     java.util.*  ;      class   Geeks      {      public     static     void     main     (  String  []     args  )         {      Object     i     =     new     ArrayList  ().  iterator  ();         System  .  out  .  print  ((  i     instanceof     List  )     +     ' '  );         System  .  out  .  print  ((  i     instanceof     Iterator  )     +     ' '  );         System  .  out  .  print  (  i     instanceof     ListIterator  );         }      }   

Produktion
false true false 

Förklaring: De iterator() metod returnerar en iterator över elementen i listan i rätt ordning, den returnerar inte ett List- eller ListIterator-objekt. A ListIterator kan erhållas genom att anropa listIterator-metoden.


Program 4: Undantag för trådstart och stopp

Java
   class   ThreadEx     extends     Thread   {      public     void     run  ()      {      System  .  out  .  print  (  'Hello...'  );      }      public     static     void     main  (  String     args  []  )      {      ThreadEx     T1     =     new     ThreadEx  ();      T1  .  start  ();      T1  .  stop  ();      T1  .  start  ();      }   }   

Produktion:

 Run Time Exception   

Förklaring: En tråd kan inte startas mer än en gång. Kallelse start() metod på en stoppad tråd orsakar IllegalThreadStateException .