this 当前 (Java关键字)

在方法调用、参数传递过程中,极有可能出现参数名称与实例变量名同时的情况。在一个方法内,可以定义和成员变量同名的局部变量或参数,此时成员变量被屏蔽。

作用1:区别成员变量和局部变量

public class Student{
    private String name;
    public void setName(String name){
        this.name = name;
        System.out.print(name);
        String name;
        name = "tom";
    }

}    

作用2:

public class Student{
    private String name;

    public void setName(String name){
        this.name = name;
    }
    public void print(){
        //表示调用当前类中的setName方法
        this.setName("tom");
        //setName("tom");

        //在类中可以表示当前类的对象
        System.out.println("this:"+this);
    }

    public static void main(String[] args){
        Student s = new Student();
        s.setName("tom");
        System.out.println("s:"+s);
    }
}

作用3: 在类的构造器中用this关键字可以调用类的其他的构造器
1.this只能出现在构造函数代码块中的第一句(前提是this这个时候代表的是调用其他构造器)
2.由this调用的构造器不会再创建新的对象
例如:

public class Car{
    private String name;
    private double price;

    public Car(){
        //无参构造器中调用了一个参数的构造器
        this("tom");
    }
    public Car(String name){
        //一个参数的构造器中调用了俩个参数的构造器
        this(name,100000);
    }
    public Car(String name,double price){
        this.name = name;
        this.price = price;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值