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  

설명: 기본 생성자를 호출하기 전에 '세 번째' 객체가 생성되는 경우 제삼 클래스 슈퍼 클래스의 기본 생성자, 즉 두번째 클래스가 호출된 다음 슈퍼 클래스의 기본 생성자 앞에 다시 호출됩니다. 첫 번째 수업이 호출됩니다. 따라서 출력은 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  

설명: '두 번째' 클래스에는 자체 'i'가 없으므로 변수는 슈퍼 클래스에서 상속됩니다. 또한 부모의 생성자는 객체를 생성할 때 호출됩니다. 두번째.


프로그램 3: 반복자가 있는 인스턴스

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 .