this关键字

         一.当类中的成员变量与成员方法中的参数方法重名时,方法中如何使用成员变量呢?JAVA中为我们提供了this关键字来解决这个问题。

      我们从下面的一个例子开始:

public class BorrowABook {//创建借书类
    String name;//属性:书名

    public BorrowABook(String name){//参数为name的值付给属性name
        this.name=name;

    }
    public void borrow(){         //借书方法
        System.out.println("请前往借阅登记处领取"+name+"。");//输出借书的书名
    }
    public static void main(String[] args){
        BorrowABook book=new BorrowABook("《战争与和平》");//创建参数为“《战争与和平》”的借书类对象
        book.borrow();//调用借书方法
    }
}从

从上面的代码中我们可以看出当用了this关键字后就避免了成员变量与形参的名称重合。在上述代码this.name=name中,左边是成员变量,右边是形参。如果我们没有用this,那么左右两边都是形参变量,此时就会出问题。

而this的本质其实就是一个存储调用它的对象的地址的变量。它可以要在方法中,用来拿到当前对象;哪个对象调用方法,this就指向哪个对象。

二.关于this要注意的几点:

1.this只能在构造方法中调用其他方法

2.this要放在第一行

3.一个构造方法中只能调用一个构造方法。

输出结果如下:

123

    我们从这个运行结果中可以看出,它输出的值不是成员变量的值,也就是说,如果方法中出现了与局部变量同名的参数,会导致方法无法直接使用成员变量。

    在上述代码中可以看到,成员变量与在showtName()方法中的形参的名称相同,都为name,那么如何在类中区分使用的是哪一个变量呢?在java语言中规定使用this关键字来代表本类对象的引用,this关键字被隐式地用于引用对象的成员变量和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值