Utdata fra Java-program | Sett 6

Vanskelighetsgrad: Middels

Forutsi produksjonen av følgende Java-programmer.

Program 1: Konstruktørkjeding

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

Produksjon
a b c  

Forklaring: Når et 'tredje' objekt opprettes før standardkonstruktøren til Tredje klasse standardkonstruktøren til superklassen, dvs. Sekund klasse kalles og så igjen før standardkonstruktøren til superklassens standardkonstruktør av Først klasse kalles. Og derfor er utgangen i rekkefølgen a b c.


Program 2: Variabel initialisering og konstruktørutførelse

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

Produksjon
10 200 400  

Forklaring: Siden den i 'Andre'-klassen ikke har sin egen 'i', er variabelen arvet fra superklassen. Også konstruktøren av overordnet kalles når vi lager et objekt av Sekund.


Program 3: forekomst av med Iteratorer

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

Produksjon
false true false 

Forklaring: De iterator() metoden returnerer en iterator over elementene i listen i riktig rekkefølge, den returnerer ikke en List eller et ListIterator-objekt. EN ListIterator kan fås ved å påkalle listIterator-metoden.


Program 4: Unntak for trådstart og 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  ();      }   }   

Produksjon:

 Run Time Exception   

Forklaring: En tråd kan ikke startes mer enn én gang. Ringer start() metode på en stoppet tråd årsaker IllegalThreadStateException .