간단한 질문이 있지만 어디서나 참조에서 솔루션을 찾을 수 없습니다.개체를 만들고 참조 할 수있는 시점은 언제입니까?
인스턴스가 생성 될 때마다 인스턴스가 몇 곳으로 전파 될 특정 클래스의 인스턴스를 만들 때 코드를 넣을 가장 명확한 장소가 인스턴스 자체의 생성 방법에 있습니다.
public void MYTest() {
public MYTEST() {
ANOTHER_CLASS.myTest = this; // <-------- can I already use the new this and assign it ?
}
}
내가 생성 방법 이미 다른 변수이 바로 새로 생성 된 인스턴스의 할당을 넣을 수 또는이 같은 추가 "슈퍼"생성 방법을 작성해야 할과 : 이것은 같을 것이다 어떻게
:x = MYTEST.superCreationMethodForMYTEST();
대신 다음과 같이 호출 다음
public void MYTest() {
public MYTEST() {
ANOTHER_CLASS.myTest = this; // <-------- can I already use the new this and assign it ?
}
public static MYTEST superCreationMethodForMYTEST() {
x = new MYTEST(); // <- here for sure the creation of MYTEST instance is finished BEFORE the assgnment happens
ANOTHER_ClASS.myTest = x;
.... all the other assignments for x.....
}
}
과 : MYTEST에이를 넣어
x = new MYTEST();
감사
맞습니다.하지만이 인스턴스를 만들 때마다 언제든지 필요한 모든 장소에 할당되어 있는지 확인해야합니다. 메소드를 호출 할 필요가 없기 때문에 (예 : 예를 들면 cimmunication이나 그와 비슷한 것을위한 interafce 객체). 생성하는 동안 인스턴스 변수의 참조를 사용하는 것이 실제로 유효한 코드입니까? 또는 생성 방법이 완료된 후에 만 REFERENCE가 유효합니까? – user387184
참조가 생성자 내부에서 유효하지만 참조가 불완전하게 구성된 객체입니다. 그러나 당신의 문제에 대한 가능한 해결책이 지금 나에게 발생한다 - 나는 그것을 대답에 추가 할 것이다. – ibid
그 점에 대해 감사드립니다. - 내가 생각한 것을 확인합니다 - 그런데 이것을 정의하는 참고 자료에는 어떤 것이 있습니까? – user387184