Ausgabe des Java-Programms | Satz 6

Schwierigkeitsgrad: Mittel

Sagen Sie die Ausgabe der folgenden Java-Programme voraus.

Programm 1: Konstruktorverkettung

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

Ausgabe
a b c  

Erläuterung: Wenn ein „drittes“ Objekt erstellt wird, bevor der Standardkonstruktor von aufgerufen wird Dritte Klasse ist der Standardkonstruktor der Superklasse, d. h. Zweite Die Klasse wird aufgerufen und dann noch einmal vor dem Standardkonstruktor der Superklasse Erste Klasse heißt. Und daher erfolgt die Ausgabe in der Reihenfolge a b c.


Programm 2: Variableninitialisierung und Konstruktorausführung

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

Ausgabe
10 200 400  

Erläuterung: Da es in der „zweiten“ Klasse kein eigenes „i“ gibt, wird die Variable von der Superklasse geerbt. Auch der Konstruktor von parent wird aufgerufen, wenn wir ein Objekt von erstellen Zweite.


Programm 3: Instanz von mit Iteratoren

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

Ausgabe
false true false 

Erläuterung: Der Iterator() Die Methode gibt einen Iterator über die Elemente in der Liste in der richtigen Reihenfolge zurück, sie gibt jedoch kein List- oder ListIterator-Objekt zurück. A ListIterator kann durch Aufrufen der listIterator-Methode abgerufen werden.


Programm 4: Thread-Start- und Stopp-Ausnahme

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

Ausgabe:

 Run Time Exception   

Erläuterung: Ein Thread kann nicht mehr als einmal gestartet werden. Berufung Start() Methode auf einem gestoppten Thread verursacht IllegalThreadStateException .