스태틱 Import
Static import스태틱 Import는 Java 프로그래밍 언어로 도입된 기능으로 컨테이너 클래스 내에서 스코핑된 멤버(필드 및 메서드)를 다음과 같이 사용할 수 있습니다.public static
필드가 정의된 클래스를 지정하지 않고 Java 코드에서 사용됩니다.이 기능은 버전 5.0에서 언어에 도입되었습니다.
이 기능은 필드를 처음 정의한 클래스를 참조할 필요 없이 코드에 상수를 포함할 수 있는 타이프 세이프 메커니즘을 제공합니다.또, 상수 인터페이스(상수만을 정의하고, 그 인터페이스를 실장하는 클래스를 쓰는 인터페이스)를 작성하는 관행도 폐지합니다.이것은 인터페이스의 부적절한 사용으로 간주됩니다.[1]
이 메커니즘을 사용하여 클래스의 개별 멤버를 참조할 수 있습니다.
Import 스태틱 java.displaces를 클릭합니다.Math.PI; Import 스태틱 java.displaces를 클릭합니다.Math.pow;
또는 클래스의 모든 스태틱멤버:
Import 스태틱 java.displaces를 클릭합니다.수학*;
예를 들어 이 클래스는 다음과 같습니다.
일반의 학급 안녕 세계 { 일반의 정적인 무효 주된(스트링[] args) { 시스템..나가..인쇄('헬로 월드'); 시스템..나가..인쇄("지름 5cm의 원을 고려할 때, 다음과 같습니다."); 시스템..나가..인쇄("둘레" + (수학.PI * 5) + "cm"); 시스템..나가..인쇄("및 구역" + (수학.PI * 수학.전원(2.5, 2)) + "평방센티미터"); } }
대신 다음과 같이 쓸 수 있습니다.
Import 스태틱 java.displaces를 클릭합니다.수학*; Import 스태틱 java.displaces를 클릭합니다.System.out; 일반의 학급 안녕 세계 { 일반의 정적인 무효 주된(스트링[] args) { 나가..인쇄('헬로 월드'); 나가..인쇄("지름 5cm의 원을 고려할 때, 다음과 같습니다."); 나가..인쇄("둘레" + (PI * 5) + "cm"); 나가..인쇄("및 구역" + (PI * 전원(2.5, 2)) + "평방센티미터"); } }
애매모호함
같은 이름의 스태틱멤버가 여러 클래스에서 Import되면 클래스 이름 수식 없이 사용할 멤버를 결정할 수 없기 때문에 컴파일러는 오류를 발생시킵니다.예를 들어, 다음 코드는 컴파일 할 수 없습니다.
Import 스태틱 java.displaces를 클릭합니다.정수.*; Import 스태틱 java.displaces를 클릭합니다.길어요.*; 일반의 학급 안녕 세계 { 일반의 정적인 무효 주된(스트링[] args) { 시스템..나가..인쇄(최대값); } }
이 경우,MAX_VALUE
애매하다.MAX_VALUE
필드는 양쪽의 Atribute입니다.java.lang.Integer
그리고.java.lang.Long
. 필드 앞에 클래스 이름을 붙이면 클래스 이름이 명확해집니다.MAX_VALUE
는 파생되지만, 그렇게 하면 스태틱 Import를 [2]용장하게 사용할 수 있습니다.