Question 17 : import static
Given:
1. package sun.scjp;
2. public enum Color { RED, GREEN, BLUE }
1. package sun.beta;
2. // insert code here
3. public class Beta {
4. Color g = GREEN;
5. public static void main( String[] argv)
6. { System.o ut.println( GREEN); }
7. }
The class Beta and the enum Color are in different packages.
Which two code fragments, inserted individually at line 2 of the Beta declaration, will allow this code to compile? (Choose two.)
A. import sun.scjp.Color.*;
B. import static sun.scjp.Color.*;
C. import sun.scjp.Color; import static sun.scjp.Color.*;
D. import sun.scjp.*; import static sun.scjp.Color.*;
E. import sun.scjp.Color; import static sun.scjp.Color.GREEN;
[HeadFirst Java - p.261]
# 패키지가 원래 이름 충돌을 방지하기 위한 용도로 만들어진 것은 아니지만, 이름 충돌을 방지하는 것도 패키지의 핵심적인 기능 가운데 하나라고 할 수 있습니다.
# 클래스를 package에 집어넣는 방법
1. 패키지 명을 결정합니다.
- "com.headfirstjava"를 예로 들면, 클래스 명이 'PackageExercise'라면
- 전체이름은 "com.headfirstjava.PackageExercise"
2. 클래스에 package 선언문을 집어넣습니다.
- 소스코드 파일의 첫번째 선언문이어야 한다.
- 소스 파일 하나에 들어있는 클래스는 모두 같은 패키지에 들어있어야 한다.
- package 선언문이 하나밖에 들어갈 수 없기 때문이다.
3.디렉토리 구조를 패키지 구조에 맞게 설정
- PackageExercise의 소스코드는
- com이라는 디렉토리 밑에 있는 headfirstjava라는 디렉토리 밑에 위치
[HeadFirst Java - p.261]
# 정적 임포트를 사용한 코드
import static java.lang.System.out;
import static java.lang.Math.*;
class WithStatic {
public static void main(String [] args) {
out.println("sqrt " + sqrt(2.0));
out.println("tan " + tan(60));
}
}
Answer: CE
Given:
1. package sun.scjp;
2. public enum Color { RED, GREEN, BLUE }
1. package sun.beta;
2. // insert code here
3. public class Beta {
4. Color g = GREEN;
5. public static void main( String[] argv)
6. { System.o ut.println( GREEN); }
7. }
The class Beta and the enum Color are in different packages.
Which two code fragments, inserted individually at line 2 of the Beta declaration, will allow this code to compile? (Choose two.)
A. import sun.scjp.Color.*;
B. import static sun.scjp.Color.*;
C. import sun.scjp.Color; import static sun.scjp.Color.*;
D. import sun.scjp.*; import static sun.scjp.Color.*;
E. import sun.scjp.Color; import static sun.scjp.Color.GREEN;
[HeadFirst Java - p.261]
# 패키지가 원래 이름 충돌을 방지하기 위한 용도로 만들어진 것은 아니지만, 이름 충돌을 방지하는 것도 패키지의 핵심적인 기능 가운데 하나라고 할 수 있습니다.
# 클래스를 package에 집어넣는 방법
1. 패키지 명을 결정합니다.
- "com.headfirstjava"를 예로 들면, 클래스 명이 'PackageExercise'라면
- 전체이름은 "com.headfirstjava.PackageExercise"
2. 클래스에 package 선언문을 집어넣습니다.
- 소스코드 파일의 첫번째 선언문이어야 한다.
- 소스 파일 하나에 들어있는 클래스는 모두 같은 패키지에 들어있어야 한다.
- package 선언문이 하나밖에 들어갈 수 없기 때문이다.
3.디렉토리 구조를 패키지 구조에 맞게 설정
- PackageExercise의 소스코드는
- com이라는 디렉토리 밑에 있는 headfirstjava라는 디렉토리 밑에 위치
[HeadFirst Java - p.261]
# 정적 임포트를 사용한 코드
import static java.lang.System.out;
import static java.lang.Math.*;
class WithStatic {
public static void main(String [] args) {
out.println("sqrt " + sqrt(2.0));
out.println("tan " + tan(60));
}
}
Answer: CE
반응형
'잘난놈되기 > SCJP' 카테고리의 다른 글
Q019. 클래스의 형변환 (0) | 2008.04.13 |
---|---|
Q018. 인터페이스 (0) | 2008.04.13 |
Q016. 내부클래스 (0) | 2008.04.04 |
Q015. 무명클래스의 형태 (0) | 2008.04.04 |
Q014. 열거형 (0) | 2008.04.03 |