class A
{
B b;
public A()
{
b = new B(this);
//initialization of class A variables
}
public void meth1()
{
}
}
class B
{
A a;
public B(A a)
{
this.a = a;
}
}
我知道这个引用不应该以这种方式传递,但是如果这样做会发生什么
其他一些类调用类 A 构造函数。“this”引用何时实际分配内存?只要在调用 super() 之前调用 A 的构造函数,它会被分配内存吗?
假设 B 类是一个线程,并且由于 B 具有 A 的引用,如果“this”引用尚未分配内存,B 可以在 A 的构造函数甚至不返回之前调用 A 上的方法。