>Java >java지도 시간 >Java 정적 가져오기

Java 정적 가져오기

WBOY
WBOY원래의
2024-08-30 15:57:38602검색

Java 정적 가져오기는 모든 클래스의 정적 멤버를 직접 사용하는 데 도움이 되는 메커니즘입니다. 클래스의 정적 항목은 다른 자격이 필요 없이 모듈에서 쉽게 참조할 수 있습니다. 클래스 이름이나 객체가 필요 없으며 이러한 정적 객체를 직접 사용할 수 있습니다. 코드 가독성을 높이고 코드 품질을 높이는 좋은 방법입니다. 꼭 필요한 경우가 아니면 정적 가져오기를 사용하지 않는 것이 좋습니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

Java에서 정적 가져오기 작업

정적 가져오기는 클래스의 정적 멤버를 직접 사용하는 데 도움이 됩니다. 모든 클래스 멤버에 액세스할 수 있도록 하여 클래스 이름을 반복적으로 언급하지 않고도 해당 클래스의 멤버를 사용하는 데 도움이 됩니다. 아래 코드는 정적 가져오기의 예입니다. System.out인 시스템 클래스의 모듈을 사용할 필요는 없습니다. 대신 코드에서 out.println을 직접 참조할 수 있으며 System 클래스를 정적으로 가져왔으므로 해당 프로그램이 성공적으로 실행됩니다.

import static java.lang.System.*;
public class StaticImportInstance{
public static void main(String args[]){
out.println("Hi");//Now no need of System.out
out.println("We are using Static Import");
}
}

Java 정적 가져오기의 예

정적 가져오기 기능을 사용하는 몇 가지 예를 살펴보겠습니다.

예시 #1

내장된 Java Math 클래스를 정적으로 가져옵니다.

코드:

import static java.lang.Math.PI;
import static java.lang.Math.pow;
public class HelloStaticWorld {
public static void main(String[] args) {
System.out.println("Hello, Let us get introduced to the Static Import World!");
System.out.println("Let us consider  a circle with a diameter of 5 cm, it has");
System.out.println("a circumference of " + (Math.PI * 5) + " cm");
System.out.println("and the area of circle will be" + (Math.PI * Math.pow(2.5, 2)) + " sq. cm");
}
}

출력:

Java 정적 가져오기

위 프로그램은 Math 클래스를 가져오는 중입니다. 더 나아가서 PI 및 POW 방법도 정적으로 가져옵니다. 일단 정적으로 사용되면 프로그램에서 추가 참조나 개체를 만들 필요가 없습니다. 가져온 클래스를 쉽게 사용할 수 있습니다. Math.PI를 활용하여 PI의 값을 이용하여 원의 둘레를 구했습니다. 또한 원의 면적을 구하는 데 도움이 되는 PI 및 POW 방법을 다시 사용하여 원의 면적을 구했습니다. 스크린샷을 확인하시면 원의 둘레와 넓이가 표시되는 것을 보실 수 있습니다.

예시 #2

내장 Java 정수 클래스 가져오기

코드:

import static java.lang.Integer.MAX_VALUE;
import static java.lang.Integer.MIN_VALUE;
public class StaticImportInteger {
public static void main(String args[]) {
//Finding Max and Min without static import
System.out.println("We will find maximum value of an integer variable in Java without using" + "static import : " + Integer.MAX_VALUE);
System.out.println("We will find minimum value of an integer variable in Java without using" +
"static import : " + Integer.MIN_VALUE);
//Finding Max and Min without static import
System.out.println("We will find maximum value of an integer variable in Java with  using" +
"static import : " + MAX_VALUE);
System.out.println("We will find minimum value of an integer variable in Java with  using" +
"static import : " + MIN_VALUE);
}
}

출력:

Java 정적 가져오기

위의 예는 Integer 클래스를 정적으로 가져오는 것입니다. 이는 이 클래스의 메소드를 직접 사용할 수 있고 추가 참조 없이 프로그램에서 사용할 수 있음을 의미합니다. 정적 가져오기를 사용하지 않고 일반 함수를 사용하는 경우 정수의 최대 수와 정수의 최소 수를 먼저 찾습니다. 여기서는 클래스 이름을 사용한 다음 함수 이름을 사용합니다. 예제를 보면 Integer.Min_Value 및 Integer.Max_Value를 사용했습니다. 다음 코드에서는 정적 가져오기를 사용합니다. 여기서 확인해 보면 MAX_VALUE, MIN_VALUE 메소드를 직접 사용했음을 알 수 있습니다. 결과는 둘 다 동일합니다. 이는 다양한 Java 기능을 사용할 수 있는 두 가지 방법이 있음을 알려줍니다.

예시 #3

정적 가져오기 사용 시의 모호함

코드:

import static java.lang.Integer.*;
import static java.lang.Long.*;
public class HelloAmbiguity{
public static void main(String[] args) {
System.out.println(MAX_VALUE);
}
}

출력:

Java 정적 가져오기

같은 클래스의 정적 멤버를 가져오는 경우 위와 같은 상황이 발생할 수 있습니다. 이런 일이 발생하면 컴파일러는 어떤 멤버를 선택할지 혼란스러워집니다. 그러다 보니 같은 클래스의 구성원이 되면 모호한 상황에 직면하게 된다. 위의 예에서는 lang 클래스를 두 번 가져옵니다. 사용되는 다른 멤버는 Integer와 Long입니다. 기본 함수가 호출되면 컴파일러는 Integer와 Long 중에서 어떤 멤버를 선택할지 혼란스러워합니다. 특정 클래스 이름이 없으면 어떤 멤버를 사용해야 하는지 계산할 수 없습니다. 따라서 위 스크린샷에서 볼 수 있듯이 오류가 발생합니다.

장점

정적 방법을 사용하면 많은 이점이 있습니다. 몇 가지 예를 들면 다음과 같습니다.

  • 어떤 인스턴스에도 종속되지 않고 함께 액세스하여 별도로 사용하는 많은 클래스에 액세스할 수 있습니다.
  • 관련 작업을 수행해야 하는 메서드를 가져와서 이러한 상태 비저장 유틸리티를 그룹화하고 매개변수와 반환 유형을 직접 사용할 수도 있도록 일관성 있게 만들 수 있습니다.
  • 정적 가져오기를 사용하여 가져오는 방법이 성능면에서 더 좋습니다. 명시적인 null 검사가 필요하지 않습니다. 더 빠릅니다.
  • 정적 메소드를 사용하면 코드를 더 읽기 쉽게 만들 수 있습니다. 포함되는 클래스 이름의 수가 적기 때문입니다.
  • 재사용을 더 쉽게 만드는 데 도움이 됩니다. 코드를 재사용할 수 있으며 클래스를 정적으로 가져오기만 하면 됩니다.

결론

정적 가져오기 방법을 사용하면 해당 클래스에 대한 참조를 만들지 않고도 클래스의 멤버를 쉽게 사용할 수 있습니다. 클래스를 가져올 때 이러한 메서드를 직접 사용할 수 있습니다. 정적 가져오기를 통해 사용자는 더 적은 수의 키 입력이 필요한 코드와 더 효율적인 코드를 가질 수 있습니다. 정적 가져오기를 사용할 수도 있지만 요구사항에 명시된 경우에만 사용하는 것이 좋습니다.

위 내용은 Java 정적 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바 팝다음 기사:자바 팝