티스토리 뷰

Given:

class A{
public A() {
System.out.print("A ");
}
}

class B extends A{
public B() {
System.out.print("B ");
}
}

class C extends B{
public C() {
System.out.print("C ");
}
public static void main(String[] args) {
C c=new C();
}
}

What is the result?

A. C B A 

B. C 

C. A B C 

D. Compilation fails at line n1 and line n2

 

정답: C

해설:

extends 로 확장하면서 생성자를 호출 시키고 있다. 쉽게 생각해서 로직을 실행시키기 전에 순서로 따지면 extends가 맨 앞에 있으니 extends가 먼저 실행될 것이고 상위 클래스에서도 extends가 맨 앞에 있으니 extends가 되면서 상위 생성자를 먼저 실행시키게 될 것이다.

결과:

A B C 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함