스태틱 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]용장하게 사용할 수 있습니다.

메모들

레퍼런스