A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴涛 中级黑马   /  2014-3-3 19:59  /  1113 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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?
希望大家看看

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

8 个回复

倒序浏览
这是构造函数间的相互调用。this(name) 这是调用 Person(String name)
                                                      {
                                                               this.name=name;
                                                          }
回复 使用道具 举报
this的用法:
1.在类的构造方法中通过this调用另一个构造方法,用法是this(参数列表),只能在构造方法里这样使用。
2.this表示当前类的一个对象,可以this.成员变量应用类的成员变量,this.成员方法调用类的方法,或者返回this表示返回当前类的对象。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
在构造函数里面用的,this()括号里面传参数,谁调用this就代表谁.
回复 使用道具 举报
this(name)是调用构造函数Person(String name)
this.name是调用一个类变量= =你这里是要调用构造函数Person(String name)

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
this(name)就是调用有一个参数的构造方法,并把name作为参数传递过去赋值,其实和this.name = name的结果是一样的,都是给name赋值。但是简化了书写。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
this(name)是调用 了Person(String name)这个构造函数,如果在Person(String name)这个构造函数中加上this(name,age) 就会产生传说中的递归,也就是无限调用!!!!;P

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
毕老师的构造函数视频里面讲到过这一点
回复 使用道具 举报
这是在同一类中 构造函数之间的相互调用 this(name)调用的是构造函数Person(String name)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马