logo

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 .