Java 面向对象编程基础 this关键字

  1. this关键字是一个引用变量,存在堆内存中(对象的内部),存储本对象的地址

  2. 一个对象一个this(引用,指向自己)

  3. 用在实例方法中,指向当前正在执行此动作的对象;

  4. 多数情况可省略,
    例:String name:
    this.name等价于name:省略this仍表示当前对象的name(this.大部分情况下可省略)
    不可省略的情况: 区别局部/实例变量时,如赋值this.id = id;

  5. static无this:
    例:String name:
    不论有没有this,static方法里都无法访问name!因为name不管有没有this,都是指当前对象的name,是对象级的
    静态方法需要引用才可调用实例方法 引用.方法名()
    而实例方法里可以直接调用实例方法; (另一种理解方式:static是类级的,this是对象级的,保持同一级才可以访问方法/变量)

  6. this的使用:

  • 在方法内部获得对当前对象的引用. 例如 return this;
  • 将当前对象传递给其他方法
  • 在构造器中调用构造器:
    通过一个构造函数调用另一个构造函数以少写些雷同代码, 如,希望无参Data构造函数可以有默认值:
   //写法1 ❌:
   new Data (1970, 1, 1); //不可行的方法,会创建我们不需要的新对象
   
   //写法2 ✔️:
   public Data(){
       this(1970, 1, 1);   //可行的方法,不创建新对象
   }

注意, 只有构造器中能使用this调用构造器, 其他任何方法中不可调用构造器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容