Java プログラムの出力 |セット6

難易度: 中級

次の Java プログラムの出力を予測します。

プログラム 1: コンストラクターの連鎖

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

出力
a b c  

説明: のデフォルトのコンストラクターを呼び出す前に「3 番目」のオブジェクトが作成されるとき 三番目 class スーパークラスのデフォルトコンストラクター、つまり 2番 クラスが呼び出され、スーパークラスのデフォルトコンストラクターの前に再度呼び出されます。 初め クラスが呼び出されます。したがって、出力は a b c の順序になります。


プログラム 2: 変数の初期化とコンストラクターの実行

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

出力
10 200 400  

説明: 「Second」クラスには独自の「i」がないため、変数はスーパークラスから継承されます。また、親のコンストラクターは、オブジェクトを作成するときに呼び出されます。 2番。


プログラム 3: イテレータを使用した instanceof

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

出力
false true false 

説明: イテレータ() このメソッドは、リスト内の要素に対する反復子を適切な順序で返します。List オブジェクトや ListIterator オブジェクトは返しません。あ リスト反復子 listIterator メソッドを呼び出すことで取得できます。


プログラム 4: スレッドの開始および停止の例外

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

出力:

 Run Time Exception   

説明: スレッドは複数回開始することはできません。電話をかける 始める() 停止したスレッドのメソッドが原因で IllegalThreadStateException