편집 한 슈퍼 클래스 내에서 확장 한 클래스 필드를 공유 : 지점에 직선자바 클래스를 확장 -
... 나는 클래스가
public class P_Gen{
protected String s;
protected Object oP_Gen;
protected Object oP_Gen2;
public P_Gen(String str){
s = str;
oP_Gen = new MyClass(this);
oP_Gen2 = new MyClass2(this);
}
}
확장 클래스 :
public class P extends P_Gen{
protected Object oP;
public P(String str){
super(str);
oP = new MyClass(this);
}
}
내 클래스 :
public class MyClass{
protected Object oMC;
public MyClass(P extendedObject){
this.oMC = extendedObject.oP;
}
}
MyClass2의 :
public class MyClass2{
protected Object oMC2;
public MyClass(P_Gen thisObject){
this.oMC2 = thisObject.oP;
}
}
더 클래스 P_Gen 위에 표시된 줄을 나에게 오류를 제공합니다. "기호 생성자 MyClass에 (P_Gen를) 찾을 수 없습니다"
oP_Gen = new MyClass(this);
진술
내가 달성하고자하는 것은 MyClass2에서 P.oP를 사용할 수있게 만드는 것입니다.
필자의 초기 생각은 P. this === P_Gen이었다. 즉, super()
에서 호출하면 P_Gen이 사라지고 왼쪽에있는 것은 확장 클래스입니다.
좋아, 나는 한 무리의 MyClass (1 .... x)있다. 그것들은 모두 P_Gen 안에서 인스턴스화 될 필요가 있습니다. 하지만 P_Gen뿐만 아니라 P에 액세스 할 수 있기를 바랍니다. 그게 가능하니? – Bastan