六:this关键字

this存着自己类的内存地址。

  1. this是一个关键字

  2. this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this储存在JVM堆内存的对象的内部(注意是对象,而不是类)

  3.创建一百个对象,每一个对象都有一个this

 

当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。

因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。

 

1、  使用this来区分当前对象。

Java中为解决变量的命名冲突和不确定性问题,引入关键字this代表其所在方法的当前对象的引用:

1)  构造方法中指该构造器所创建的新对象;

2)  方法中指调用该方法的对象;

3)  在类本身的方法或构造器中引用该类的实例变量(全局变量)和方法。

         this只能用在构造器或者方法中,用于获得调用当前的构造器方法的对象引用。可以和任何的对象引用一样来处理这个this对象。

说明:

(1)当实例变量和局部变量重名,JAVA平台会按照先局部变量、后实例变量的顺序寻找。即,方法中使用到的变量的寻找规律是先找局部变量,再找实例变量。如果没用找到,将会有一个编译错误而无法通过编译。

(2)如果使用this.a,则不会在方法(局部变量)中寻找变量a,而是直接去实例变量中去寻找,如果寻找不到,则会有一个编译错误。

(3)在一个方法内,如果没有出现局部变量和实例变量重名的情况下,是否使用this关键字是没有区别的。

(4)在同一个类中,Java普通方法的互相调用可以省略this+点号,而直接使用方法名+参数。因为Java编译器会帮我们加上。

 

转自:https://www.cnblogs.com/zheting/p/7751752.html

posted @ 2020-11-21 11:22  晴晴小可爱的小弟  阅读(89)  评论(0编辑  收藏  举报