相互に参照する 2 つのクラスがあります。
class B{
A obj;
B(A obj){
this.obj=obj;
}
void display(){
System.out.println(obj.data);//using data member of A class
}
}
class A{
int data=10;
A(){
B b =new B(new A()); // THIS LINE GENERATES AN ERROR
b.display();
}
public static void main(String args[]){
A a=new A();
}
}
問題のある行を read に変更すると
B b =new B(this);
それは動作します。2つの行は同じことをしていると思います。一方が機能し、もう一方が機能しないのはなぜですか?
また、最初のバージョンのコンパイラ エラーは読み取ります
A.<init><A.java:15>
これは何を意味するのでしょうか?