开发者社区> 问答> 正文

Java中“ this”的含义是什么?

通常,我this仅在构造函数中使用。

我了解this.something,如果它与全局变量具有相同的名称,则它用于标识参数变量(使用)。

但是,我不知道thisJava 的真正含义是什么,如果this不使用点(.),将会发生什么。

展开
收起
垚tutu 2019-11-29 23:21:42 890 0
1 条回答
写回答
取消 提交回答
  • #include

    this 指当前对象。

    每个非静态方法都在对象的上下文中运行。因此,如果您有这样的课程:

    public class MyThisTest {
      private int a;
    
      public MyThisTest() {
        this(42); // calls the other constructor
      }
    
      public MyThisTest(int a) {
        this.a = a; // assigns the value of the parameter a to the field of the same name
      }
    
      public void frobnicate() {
        int a = 1;
    
        System.out.println(a); // refers to the local variable a
        System.out.println(this.a); // refers to the field a
        System.out.println(this); // refers to this entire object
      }
    
      public String toString() {
        return "MyThisTest a=" + a; // refers to the field a
      }
    }
    
    

    然后调用frobnicate()上new MyThisTest()会打印

    1个
    42
    MyThisTest a = 42
    
    

    因此,有效地将它用于多种用途:

    澄清您在谈论一个字段,当还有其他与该字段同名的东西时 整体引用当前对象 在构造函数中调用当前类的其他构造函数

    2019-11-29 23:22:08
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载