Java에서 정적 변수는 정적에 의해 수정된 클래스의 변수를 의미합니다. 정적 변수는 모든 클래스 인스턴스 개체에서 공유되며 메모리에 복사본이 하나만 있고 클래스가 처음 로드될 때만 초기화됩니다.
이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.
정적으로 수정된 클래스의 변수를 정적이라고도 합니다. 변수. 비정적 변수는 인스턴스 변수라고도 합니다.
정적 변수와 인스턴스 변수의 차이점은 다음과 같습니다.
볼 수 있습니다:
정적 변수 인덱스는 여러 객체 인스턴스에 의해 공유됩니다.
public class MyStatic { // 静态变量 private static int index = 0; // 实例变量 private int count = 0; public void inc() { index++; count++; } public String get() { return "静态变量index = " + index + ", 实例变量count = " + count; } }
3.정적 변수 오해
/** * index是静态变量 * count是实例变量 * */ public class StaticVariableTest { public static void main(String[] args) { MyStatic myStatic1 = new MyStatic(); MyStatic myStatic2 = new MyStatic(); MyStatic myStatic3 = new MyStatic(); myStatic1.inc(); System.out.println("myStatic1的index、count增加1:"); System.out.println("myStatic1的" + myStatic1.get()); System.out.println("myStatic2的" + myStatic2.get()); System.out.println("myStatic3的" + myStatic3.get() + "\n"); myStatic2.inc(); System.out.println("myStatic2的index、count增加1:"); System.out.println("myStatic1的" + myStatic1.get()); System.out.println("myStatic2的" + myStatic2.get()); System.out.println("myStatic3的" + myStatic3.get() + "\n"); myStatic3.inc(); System.out.println("myStatic3的index、count增加1:"); System.out.println("myStatic1的" + myStatic1.get()); System.out.println("myStatic2的" + myStatic2.get()); System.out.println("myStatic3的" + myStatic3.get()); } }
실행 결과:
3.3 정적은 클래스 멤버의 액세스 권한을 변경하지 않습니다
myStatic1的index、count增加1: myStatic1的静态变量index = 1, 实例变量count = 1 myStatic2的静态变量index = 1, 实例变量count = 0 myStatic3的静态变量index = 1, 实例变量count = 0 myStatic2的index、count增加1: myStatic1的静态变量index = 2, 实例变量count = 1 myStatic2的静态变量index = 2, 实例变量count = 1 myStatic3的静态变量index = 2, 实例变量count = 0 myStatic3的index、count增加1: myStatic1的静态变量index = 3, 实例变量count = 1 myStatic2的静态变量index = 3, 实例变量count = 1 myStatic3的静态变量index = 3, 实例变量count = 1
추천 관련 비디오 튜토리얼: Java 비디오 튜토리얼
위 내용은 Java 정적 변수란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!