关键字"/>
【Java】This关键字
背景
工作了这么多年了,我深刻的认识到,基础对于一个人来说是多么的重要,所以,我决定从基础开始为大家介绍Java。一方面帮助大家学习Java,另一方面我自己也夯实一下基础!
今天就先讲讲Java中的【This】关键字吧!
小例子
首先在一个类中写一个简单的小方法来实现【给其他人打招呼】的小功能
public class Person {String name; //我自己的名字//参数是对方的名字//成员变量name是自己的名字public void sayHello(String someone){System.out.println(someone + ",您好。我是" + name);}
再另外一个类中调用这个【Person】方法
public class Damo01Person {public static void main(String[] args){Person person = new Person();//设置我自己的名字person.name = "王一";person.sayHello("张三");}
}
运行,显示如下结果:
张三,您好。我是王一
这么一个小功能就实现了。可是如果我把参数的命名改成和成员变量的命名一样的名字呢?看下面代码:
public class Person {String name; //我自己的名字//参数是对方的名字//成员变量name是自己的名字public void sayHello(String name){System.out.println(name + ",您好。我是" + name);}
这种情况下,IDE是不会报错的。但是运行一下呢?会显示什么结果:
张三,您好。我是张三
显然,这样的结果不是我们想要的。那么在这种【参数名称和成员变量名称一致】的情况下,怎么才能实现我们想要的功能呢?这就用到了【This】关键字。
看我做如下修改:
public class Person {String name; //我自己的名字//参数是对方的名字//成员变量name是自己的名字public void sayHello(String name){System.out.println(name + ",您好。我是" + this.name);}
此时会显示什么结果呢?(嘿嘿!试一下你就知道)
张三,您好。我是王一
这就OK了,使用【This】关键字,在这种特使的情况下我们也能实现我们想要的功能。
This关键字的作用
区分重名 :比如参数与成员变量重名了,可以使用This来区分这两个相同的名称。【This】英文意思是【这个】,在这个小例子中【This.name】可以理解为【对象.方法】
更多推荐
【Java】This关键字
发布评论