在Java里,this关键字可以实现类属性调用,类方法调用,表示当前对象
调用属性:
一般会在构造函数的参数命名中常见;属性与参数命名重名时使用this ,例如:
class Book{
private String title;
private double price;
public Book (String title,double price){
this.title = title; //this.title 指的是Class Book里面的title
this.price = price;
}
}
只要访问类中的属性,必须在前面加上this!!
调用方法:
- 调用普通方法:调用本类方法时,要在方法前面加this;
- 调用构造方法: this(参数,参数),当有多个构造方式时,如果想让每个构造方法都输出hello,那么势必会有重复代码,比如无参构造,有一个参数构造,有两个参数构造...将重复的代码整合,也就是在一个参数的构造方法里面添加this(),在两个构造方法里面添加this(参数),形成嵌套,避免代码重复;
虽然实现了构造方法的相互调用,但是存在一些限制:
- 使用this()调用构造方法形式的代码,只能够放在构造方法首行;
- 进行构造方法的相互调用时,一定要保留调用的出口;至少保留一个构造函数没有this();
表示当前对象:
当前对象就是当前正在调用类方法的对象;" this.属性 "实际上是当前对象的属性,一定是堆内存保存的属性;