黑马程序员技术交流社区

标题: 关于构造函数中this的用法 [打印本页]

作者: ※芤雀翎※    时间: 2013-10-15 02:20
标题: 关于构造函数中this的用法
本帖最后由 杨增坤 于 2013-10-15 09:35 编辑

class Person
{
        private String name;
        private int age;
        
        Person()
        {
                  this("hah");
               
        }
        
        Person(String name)
        {
                 this();
                this.name =name;
        }
        Person(String name,int age)
        {
               
                this.age = age;
               
        }

}

class  PersonDemo4
{
        public static void main(String[] args)
        {
                new Person();
        
        }
}
就这一段代码中,我在主函数中new的person在建立过程中初始化的顺序,成员变量和成员函数相互调用的关系和顺序究竟是怎么样的啊,毕老师说是死循环,这一段看了很多遍一直弄不明白,折腾到半夜了睡不着,求大神们帮助。
作者: 做只会飞的鱼    时间: 2013-10-15 06:01
new Person();调用Person()无参构造方法,
而Person()构造方法首行通过
this("hah");
调用Person(String name)构造方法,
而Person(String name)首行又通过
this()
调用无参构造方法Person();
这是一个死循环,永远执行不完.
作者: ※芤雀翎※    时间: 2013-10-15 09:08
谢谢了啊
作者: 汪洋大海    时间: 2013-10-15 11:58
楼上兄弟说的很多正确。还有当返回值是当前对象时,就要用到 return this;
老毕都有讲的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2