本身写的有问题啊a,b是BOY类的对象嘛?如果是的话那么
class boy {
boy ()
{
public boy a = new boy()
public boy b = new boy()
}
}
是想表达这个意思?
如果是这个意思。。那应该是个循环
不过看你好象不是这个意思吧~不明白~~
class boy {
boy ()
{
public boy a = new boy()
public boy b = new boy()
}
}
是想表达这个意思?
如果是这个意思。。那应该是个循环
不过看你好象不是这个意思吧~不明白~~
class boy {
public boy (){}
public boy a = new boy();
public boy b = new boy();
}调用方法如下:
boy myBoy = new boy();
根据我的测试,确实有问题。程序在实例化myBoy时,首先执行了
public boy a = new boy();
public boy b = new boy();
语句。结果是无限循环执行下去。
不知楼主是在Thinking in Java什么地方看到这个例子的。
实际上我在Thinking in Java中看到的例子应该类似如下这样:
class boy {
public boy (){}
public void foo(){
boy a = new boy();
boy b = new boy();
}
}
其实这样调用是可以的:
class boy {
public static Boy a = new Boy();
public boy (){}
}
这样构造函数boy()将被执行两次。不过不知道这么写有什么用:)