面向对象—this关键字

构造函数是对象初始化时调用的。
给哪个对象初始化呢?
通过this关键字来记录对象的地址,并通过this来明确被初始化的对象。
在构造函数中调用其他构造函数的格式:
this(参数列表)->就调用相应的构造函数。
小结:
tihs到底代表什么呢?
this就代表对象,即哪个对象调用了this所在函数,this就代表哪个对象。

如下例:

class Person
{
    private String name;
    private int age;
    Person ()
    {

    }
    //初始化姓名
    Person(String n)
    {

        name=n;
    }
    //初始化姓名和年龄
    Person(String n,int a)
    {
        this(n); // 调用一个字符串参数的构造函数。
                //注意:调用其他构造函数的语句必须定义在构造函数的第一行。原因:初始化动作要先执行。
       // name=n;
        age=a;
    }
}
public class test {
    public static void main(String[] args)
    {
        Person p =new Person("chen",20);//对象创建时,必须会调用对应的构造函数。因为对象需要初始化。
    }

}

注意:调用其他构造函数的语句必须定义在构造函数的第一行。
原因:初始化动作要先执行。
构造函数相互调用会出现递归现象,结果栈溢出。
this关键字的另一个作用
用this标识哪个变量是成员变量。这个标识可以省略不写。
但是,当局部变量和成员变量同名时,必须用this来标识成员变量。

你可能感兴趣的:(java笔记)