没有方法的类中new一个自己会出错!
在一个没有方法的类中new一个本类的对象会出错
public class Problem
{
public static void main (String[] args)
{
Dog xiaohei = new Dog ();
System.out.println (xiaohei.colour);
}
}
class Dog
{
int colour;
Dog xiaohei = new Dog(); //没有这句就没有问题(有这句编译没问题,执行有问题)。
}
------解决方案--------------------实例化Dog时会执行初始化类,给成员变量赋值。当然就要执行Dog xiaohei = new Dog();这一句,你可以自己加构造方法打印一句话,看看就知道了,会不断地创建对象。
------解决方案--------------------你的意思是两个xiaohei 是同一个吗,
不是同一个,
每一个Dog里都有一个另外一个Dog,
你实例化的时候,又需要实例化它的子Dog,子Dog也一样实例化它自己的子子Dog。没完没了