2012년 10월 16일 화요일

OCJP 문제풀이 - Question 15


QUESTION 15
Given:

interface TestA { String toString(); }

public class Test {
  public static void main(String[] args) {
    System.out.println(new TestA() {
      public String toString() { return "test"; }
    });
  }
}

What is the result?

A. test
B. null
C. An exception is thrown at runtime.
D. Compilation fails because of an error in line 1.
E. Compilation fails because of an error in line 4.
F. Compilation fails because of an error in line 5.

Answer: A
Section: All

Explanation/Reference:

익명클래스 사용에 대한 문제이다.

문제는 TestA 인터페이스를 toString() 메소드를 구현하여
이렇게 생성된 객체를 System.out.println() 에 넣으면, 객체내에 toString() 메소드가
자동으로 호출되어 "test"를 출력하게 된다.

블로그 보관함