zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java实现按对象某个字段排序,排序字段和规则自定义
    JVM调优
    Spring事务的5种隔离级别
    Spring的七种事务传播机制
    jdk动态代理和cglib动态代理的区别
    spring事务的开启方式(编程式和声明式)
    jetty启动(server-connector-handle-start-join)
    浅谈background-size的几个属性值
    如何解决各类尺寸移动端自适应的问题?
    如何实现一个盒子看起来缓慢消失切换到另一个页面的效果?
  • 原文地址:https://www.cnblogs.com/goldenwangyi/p/15012390.html
Copyright © 2011-2022 走看看