Izhod programa Java | Komplet 6

Težavnostna stopnja: srednja

Predvidi izhod naslednjih programov Java.

Program 1: Veriženje konstruktorjev

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  ();      }   }   

Izhod
a b c  

Pojasnilo: Ko je "tretji" objekt ustvarjen pred klicem privzetega konstruktorja Tretjič razred privzeti konstruktor nadrazreda, tj. drugič razred in nato znova pred privzetim konstruktorjem privzetega konstruktorja nadrazreda najprej razred se imenuje. In zato je rezultat v vrstnem redu a b c.


Program 2: Inicializacija spremenljivke in izvedba konstruktorja

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  );      }   }   

Izhod
10 200 400  

Pojasnilo: Ker v 'drugem' razredu nima svojega 'i', je spremenljivka podedovana iz nadrazreda. Tudi konstruktor nadrejenega se pokliče, ko ustvarimo predmet drugič


Program 3: instanceof z iteratorji

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  );         }      }   

Izhod
false true false 

Pojasnilo: The iterator() metoda vrne iterator nad elementi na seznamu v pravilnem zaporedju, ne vrne predmeta List ali ListIterator. A ListIterator je mogoče pridobiti s klicem metode listIterator.


Program 4: Začetek in zaustavitev niti

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  ();      }   }   

Izhod:

 Run Time Exception   

Pojasnilo: Niti ni mogoče začeti več kot enkrat. Klicanje začetek() metoda na ustavljeni niti povzroča IllegalThreadStateException .