面向对象—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来标识成员变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值