Sortie du programme Java | Ensemble 6

Niveau de difficulté : intermédiaire

Prédisez la sortie des programmes Java suivants.

Programme 1 : Chaînage de constructeurs

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

Sortir
a b c  

Explication: Lorsqu'un 'Troisième' objet est créé avant d'appeler le constructeur par défaut de Troisième class le constructeur par défaut de la super classe, c'est-à-dire Deuxième la classe est appelée, puis à nouveau avant le constructeur par défaut du constructeur par défaut de la super classe D'abord la classe est appelée. Et donc la sortie est dans l’ordre a b c.


Programme 2 : Initialisation des variables et exécution du constructeur

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

Sortir
10 200 400  

Explication: Puisque dans la classe 'Deuxième', elle n'a pas son propre 'i', la variable est héritée de la super classe. De plus, le constructeur de parent est appelé lorsque nous créons un objet de Deuxième.


Programme 3 : instanceof avec itérateurs

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

Sortir
false true false 

Explication: Le itérateur() La méthode renvoie un itérateur sur les éléments de la liste dans le bon ordre, elle ne renvoie pas d'objet List ou ListIterator. UN ListItérateur peut être obtenu en appelant la méthode listIterator.


Programme 4 : exception de démarrage et d'arrêt du thread

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

Sortir:

 Run Time Exception   

Explication: Un fil de discussion ne peut pas être démarré plus d'une fois. Appel commencer() méthode sur un thread arrêté provoque IllegalThreadStateException .