this关键字
- this表示当前这个对象,也就是说当前谁调用这个方法,则这个对象就是谁
- this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存的java对象内部
- this关键字可以访问本类中的实例变量
当局部变量和成员变量没有同名时,则编写属性名等价于this.属性名,如:id 等价于 this.id
当局部变量和成员变量同名时,并且访问成员变量则必须使用this. - this关键字可以访问本类中的实例方法
方法名称([参数列表]); 等价于 this.方法名称([参数列表]); - this关键字还可以访问本类中的其他构造方法
this(); //访问本类无参构造方法
this([实参列表]);
当使用this访问本类构造方法时,则只能编写在构造方法中,并且是第一条语句 - 构造方法不能出现递归调用,也就是说,若一个类中有n个构造器,那么最多有n-1个构造器中使用了this(形参);
- 构造方法的调用不一定需要创建新的对象
- this不能使用在带有static的方法当中。在带有static的方法当中不能"直接"访问实例变量和实例方法。因为实例变量和实例方法都需要对象的存在。而static的方法当中是没有this的。也就是说当前对象是不存在的。自然也是无法访问当前对象的实例变量和实例方法。