• JAVA this关键字


    this概念

    1、若在构造方法中出现了this关键字,则代表当前正在构造的对象。
    2 、若在成员方法中出现了this关键字,则代表当前正在调用的对象。
    3、this关键字本质上就是当前类类型的引用变量。
    工作原理

        在构造方法中和成员方法中访问成员变量时,编译器会加上this.的前缀, 而this.相当于汉语中"我的",当不同的对象调用同一个方法时,由于调用方法的对象不同导致this关键字不同,从而this.方式访问的结果也就随之不同。

    使用方式

    1、当局部变量名与成员变量名相同时,在方法体中会优先使用局部变量(就近原则),若希望使用成员变量,则需要在成员变量的前面加上this.的前 缀,明确要求该变量是成员变量。

    2、 this关键字除了可以通过this.的方式调用成员变量和成员方法外,还可以作为方法的返回值。

    3、 在构造方法的第一行可以使用this()的方式来调用本类中的其它构造方法。

    注意事项

     1、引用类型变量用于存放对象的地址,可以给引用类型赋值为null,表示不指向任何对象。

    2、当某个引用类型变量为null时无法对对象实施访问(因为它没有指向任何对象)。此时,如果通过引用访问成员变量或调用方法,会产生 NullPointerException 异常。

    public class ThisTest {

    // 自定义构造方法
    ThisTest() {
    // this代表当前正在构造的对象
    System.out.println("构造方法中:this = " + this);
    }
    // 自定义成员方法
    void show() {
    // this代表当前正在调用的对象
    System.out.println("成员方法中:this = " + this);
    }

    public static void main(String[] args) {

    // 1.声明ThisTest类型的引用指向该类型的对象
    ThisTest tt = new ThisTest();
    // 2.调用show方法
    tt.show();
    System.out.println("main方法中:tt = " + tt);
    }
    }

    运行结果:

      构造方法中:this = ThisTest@7e0ea639
      成员方法中:this = ThisTest@7e0ea639
      main方法中:tt = ThisTest@7e0ea639

  • 相关阅读:
    【Linux】VMware及VirtualBox网络配置
    【Linux】VirtualBox安装ubuntu排错LowGraphic
    【Hadoop】Win7上搭建Hadoop开发环境,方法一
    【JAVA】配置JAVA环境变量,安装Eclipse
    Eureka自我保护机制
    zookeeper代替eureka作为SpringCloud的服务注册中心
    mybatisplus代码生成器
    条件构造器 EntityWrapper (重要)
    idea 常用快捷键
    MybatisPlus的通用 CRUD
  • 原文地址:https://www.cnblogs.com/goldenwangyi/p/15012390.html
Copyright © 2020-2023  润新知