Dog dog1 = new Dog();
这一句会导致无限递归,然后stackoverflow ------解决方案-------------------- this.Jiao()就可以了。 ------解决方案-------------------- 楼主,把Animal这个类的代码也贴来看下 ------解决方案--------------------
实例化了一个dog,为了实例化这个dog,它又要实例化一个dog,为了实例化那个dog,还得实例化一个dog。 ------解决方案-------------------- 实例方法使用到当前类的对象,一般是用this来表示 ------解决方案-------------------- Dog dog1 = new Dog();
创建一个Dog对象 以后 会先对这个对象分配内存空间,然后分配内存空间的时候又会走到这句话然后又创建一个对象新对象分配内存空间再一次创建新对象 无限递归 ------解决方案-------------------- 在一个类中不能有自己这个类的属性 如果有的话 也必须不能再构造函数执行前和执行时实例化他 ------解决方案-------------------- 实例化的时候,字段是在构造函数执行前执行的
Dog dog1 = new Dog();这是个字段,所以无限循环的