객체 초기화 과정:
1: 클래스 초기화
객체를 처음 생성할 때:
Dog dog = new Dog();
클래스의 정적 메서드나 정적 필드에 처음으로 액세스할 때:
Dog.staticFields;
Java 인터프리터는 클래스의 경로를 찾고 컴파일된 Dog.class 파일을 찾습니다.
둘: 클래스 리소스 확보
그런 다음 jvm은 Dog.class를 로드하고 클래스 개체를 생성합니다. 이때 정적 메소드나 변수가 있으면 정적 초기화 작업이 실행됩니다. 이때 정적 초기화는 클래스 개체가 처음 로드될 때 프로그램 실행 중에 한 번만 실행됩니다. 이러한 리소스는 jvm의 메소드 영역에 배치됩니다.
메서드 영역은 힙과 마찬가지로 모든 스레드에서 공유됩니다.
메서드 영역에는 모든 클래스 및 정적 변수를 포함하여 전체 프로그램에서 항상 고유한 요소가 포함됩니다.
3: 개체 초기화 Dog dog = new Dog()
1. 처음으로 Dog 개체를 생성할 때 위의 1단계와 2단계를 수행합니다.
2. 힙에 있는 Dog 객체. 모든 속성과 메서드는 기본값으로 설정됩니다. (숫자는 0, 문자는 null, Boolean은 false, 모든 참조는 null로 설정됨)
3. 생성자를 실행하여 존재 여부를 확인합니다. 상위 클래스가 있는 경우 먼저 상위 클래스의 생성자를 호출합니다. 여기서는 Dog에 상위 클래스가 없다고 가정하고 초기화 작업인 기본값 필드 할당을 수행합니다. 방법의.
4. 생성자를 실행합니다.
추천 튜토리얼: Java 개발 시작하기
위 내용은 Java에서 객체가 초기화되는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!