学习this关键字
/**
-
this 是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存java对象内部
-
创建100个java对象,每一个对象都有this,也就是说有100个不同的this
-
没有static关键字的方法被称为 实例方法
-
没有static关键字的变量被称为 实例变量
-
实例变量 必须采用 引用. 方式访问
-
当一个行为、动作执行的过程当中是需要对象参与的,那么这个方法一定要定义为 实例方法 ,不要带 static关键字
-
this可以出现在 实例方法 当中,this指向当前正在执行这个动作的对象 (this代表当前对象)
-
this 在多数情况下都是可以省略不写的
-
带static的方法调用不是 对象去调用,是一个类名去调用 ,执行过程中没有 “当前对象”
-
this 不能使用在带有static的方法中
-
this 什么时候不能省略
-
用于区分局部变量和实例变量的时候,this不能省略
-
this 可以用在哪里
-
可以使用在实例方法当中,代表当前对象 语法格式:this.
-
可以使用在构造方法中,通过当前的构造方法调用其他的构造方法 语法格式:this(实参)
-
【记忆】 this() 这种语法只能出现在构造函数的第一行
-
什么时候程序在运行的时候出现空指针异常呢
-
空引用访问实例相关的数据,因为实例相关的数据就是对象相关的数据
-
这些数据在访问的时候,必须有对象的参与,当空引用的时候,对象不存在
-
访问这些实例数据一定会出现空指针异常
-
实例相关的数据包括
-
实例变量 【对象需要存在】
-
实例方法【对象需要存在】
-
带有static的方法,其实既可以采用类名的方式访问,也可以采用引用的方式进行访问
-
但是即使采用引用的方式去访问,实际上执行的时候和引用指向的对象无关
-
在带有static的方法还是建议使用 类名. 的方式访问
*/