java - Java中的Class.this和this有什么区别

标签 java this

有两种方法可以在该类中引用该类的实例。例如:

class Person {
  String name;

  public void setName(String name) {
    this.name = name;
  }

  public void setName2(String name) {
    Person.this.name = name;
  }
}

一个使用 this.name 来引用对象字段,而另一个使用 className.this 来引用对象字段。这两个引用有什么区别?

最佳答案

在这种情况下,它们是相同的。当您有一个需要引用其外部类实例的非静态嵌套类时,Class.this 语法很有用。

class Person{
    String name;

    public void setName(String name){
        this.name = name;
    }

    class Displayer {
        String getPersonName() { 
            return Person.this.name; 
        }

    }
}

关于java - Java中的Class.this和this有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5666134/

相关文章:

java - Eclipse 和数据库给出不同的结果

java - 如何在 Java 中将 ArrayList.toArray() 函数与泛型类型一起使用

java - 你好,我正在尝试填充一个数组来计算平均值。但是它一直报错

java - 如果存在,Java 中的 this() 应该始终首先执行吗?

JavaScript 'this' 关键字

javascript - 使用 $(this) 查找表单提交按钮

javascript - Node js 在 module.exports 中使用函数调用中的 "this"

java - 确保 JButton 可以适合给定长度的字符串

java - 让网络上的客户端发现服务器

javascript - 函数调用和关键字 'this' 之间有什么关系?