黑马程序员技术交流社区

标题: 构造函数,this疑问 [打印本页]

作者: 吴涛    时间: 2014-3-3 19:59
标题: 构造函数,this疑问
class Person
{
        private String name;
        private int age;

        Person(String name)
        {
                this.name = name;
        }
        Person(String name,int age)
        {
            this(name);
                    this.age = age;
        }
}
构造函数Person(String name,int age)
中this(name);
怎么理解?一般不是this.name?
希望大家看看
作者: 平凡成就非凡    时间: 2014-3-3 20:02
这是构造函数间的相互调用。this(name) 这是调用 Person(String name)
                                                      {
                                                               this.name=name;
                                                          }
作者: twtzhongxin    时间: 2014-3-3 21:48
this的用法:
1.在类的构造方法中通过this调用另一个构造方法,用法是this(参数列表),只能在构造方法里这样使用。
2.this表示当前类的一个对象,可以this.成员变量应用类的成员变量,this.成员方法调用类的方法,或者返回this表示返回当前类的对象。
作者: 遗忘的青春年华    时间: 2014-3-3 23:18
在构造函数里面用的,this()括号里面传参数,谁调用this就代表谁.
作者: 织语不如书    时间: 2014-3-3 23:20
this(name)是调用构造函数Person(String name)
this.name是调用一个类变量= =你这里是要调用构造函数Person(String name)
作者: chenfc8578    时间: 2014-3-3 23:43
this(name)就是调用有一个参数的构造方法,并把name作为参数传递过去赋值,其实和this.name = name的结果是一样的,都是给name赋值。但是简化了书写。
作者: 茗记    时间: 2014-3-4 00:19
this(name)是调用 了Person(String name)这个构造函数,如果在Person(String name)这个构造函数中加上this(name,age) 就会产生传说中的递归,也就是无限调用!!!!;P
作者: zzkang0206    时间: 2014-3-4 10:13
毕老师的构造函数视频里面讲到过这一点
作者: 学习代码    时间: 2014-3-5 17:29
这是在同一类中 构造函数之间的相互调用 this(name)调用的是构造函数Person(String name)




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