java this的用法及注意点

来源:互联网 发布:淘宝账户如何注销 编辑:程序博客网 时间:2024/05/11 19:07

相信学习java的童鞋对于this这个关键字应该是不陌生的,现在博主就来说道说道,如有错误望指正。

首先说this,其实它的作用相信大家或多或少都知道一些,但是你知道为什么需要这样做,或者什么导致的吗?

首先this最核心的概念就是代表类的当前对象引用,这个也是this的其他应用场景所依据的。可能这句话你都听过N遍了,但接下来的话你可能没听过。要理解这个当前对象引用,你首先假设this是你写的每个类里面的一个对象引用,接着你就会发现,this在所有的使用的地方都能解释的通了。以下举例:

1、如果你希望在方法内部获得当前对象的引用并使用,你是不是可以直接使用this?是不是代表当前对象引用

2、将当前对象传递给其他方法是不是也是直接使用,或者返回当前对象?是不是代表当前对象引用

3、使用this调用类的成员变量,你在实体类(特别是javaee)中,直接写set,get方法的时候,为什么在方法里面要用到this?是不是代表当前对象引用如你可以试试在set方法里,如果set方法的参数和成员变量名称相同,而你又去掉this关键字,你就会发现你调用set方法时,成员变量并没有被赋值,即便你说可以将成员变量和参数名称设置为不一致可以避免,但是那样给人阅读起来也比较难以理解,毕竟标准写法在那。

4、调用构造方法,这个可能扯到super,以后再讲这两个区别。在一个构造方法里调另外一个构造方法也是用this?是不是代表了当前对象引用?,这里有一点注意,this调用构造器不能调用2遍,且this调用必须放在第一行,且只能在构造方法里调用构造方法。

5、在方法内调成员方法,可以写this,也可以省略。

使用this还有几点需要注意:1、只能在方法内部使用this;2、不能在静态方法和静态块中使用this,当然你可以new 一个对象去调用静态方法,然后将当前对象传递进去。

原创粉丝点击