사용 시기:
메서드나 변수를 초기화하고 로드해야 하거나 자주 호출될 때 static
를 추가할 수 있습니다. static으로 수정된 메서드는 클래스 이름을 사용하여 직접 호출할 수 있습니다. 그렇지 않은 경우 호출하기 전에 개체를 인스턴스화해야 합니다.
단점:
초기 로딩은 메모리를 많이 차지하므로 자주 사용하지 않는 메소드에는 이 키워드를 추가하지 않는 것이 좋습니다.
계산을 통해 정적 변수를 초기화해야 하는 경우 정적 블록을 선언하면 클래스가 로드될 때 정적 블록이 한 번만 실행됩니다.
추천 Java 관련 비디오 튜토리얼: java 온라인 튜토리얼
아래 예제는 정적 메소드, 일부 정적 변수 및 정적 초기화 블록이 있는 클래스를 보여줍니다.
샘플 코드:
// Demonstrate static variables,methods,and blocks. class UseStatic { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } static { System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } }
UseStatic 클래스가 로드되면 모든 정적 문이 실행됩니다.
먼저 클래스 속성 변수가 할당되기 시작하고 a는 3으로 설정되고 b는 기본적으로 0으로 초기화된 다음 정적 블록이 실행되어 실행되고(메시지 인쇄) 마지막으로 b는 a*로 초기화됩니다. 4 또는 12. 그런 다음 main()이 호출되고, main()이 meth()를 호출하여 값 42를 x에 전달하고, 세 개의 println() 문이 두 개의 정적 변수 a와 b, 지역 변수 x를 참조합니다.
참고: 정적 메서드에서 인스턴스 변수를 참조하는 것은 불법입니다.
실행 결과:
Static block initialized. x = 42 a = 3 b = 12
추천 관련 기사 및 튜토리얼: Java 프로그래밍 소개
위 내용은 Java에서 static을 사용해야 하는 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!