[Javaをガチャガチャ]オブジェクト作成プロセス
コンストラクション関数と変数のどちらが先に来ますか?
Bクラスでは、aは変数として作成される.
したがって、クラス内のコンストラクション関数に対して、変数はまずメモリに格納され、残りのコンストラクション関数の一部が作成されます.
public class Object {
/*
* B 객체 생성
* - B 객체의 생성시점?
*/
public static void main(String[] args) {
A a = new A();
C c = new C();
B b = new B();
}
}
class A {
A(){
System.out.println("클래스 A 생성");
}
}
class B {
B(){
System.out.println("클래스 B 생성");
}
// 클래스 B에서는 a가 하나의 변수로 만들어짐
// -> 클래스 내부의 생성자보다 변수가 먼저 메모리에 올라간 다음에 나머지 생성자에 대한 부분이 만들어진다
A a = new A();
}
class C {
C(){
System.out.println("클래스 C 생성");
}
}
>> 클래스 A 생성
>> 클래스 C 생성
>> 클래스 A 생성
>> 클래스 B 생성
💾💾Bクラスでは、aは変数として作成される.
したがって、クラス内のコンストラクション関数に対して、変数はまずメモリに格納され、残りのコンストラクション関数の一部が作成されます.
Reference
この問題について([Javaをガチャガチャ]オブジェクト作成プロセス), 我々は、より多くの情報をここで見つけました https://velog.io/@dding_ji/java-object-orderテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol