Java:类.this

标签 java class this

我有一个类似这样的 Java 程序。

public class LocalScreen {

   public void onMake() {
       aFuncCall(LocalScreen.this, oneString, twoString);
   }
}

LocalScreen.thisaFuncCall中是什么意思?

最佳答案

LocalScreen.this 引用封闭类的this

这个例子应该解释一下:

public class LocalScreen {
    
    public void method() {
        
        new Runnable() {
            public void run() {
                // Prints "An anonymous Runnable"
                System.out.println(this.toString());
                
                // Prints "A LocalScreen object"
                System.out.println(LocalScreen.this.toString());
                
                // Won't compile! 'this' is a Runnable!
                onMake(this);
                
                // Compiles! Refers to enclosing object
                onMake(LocalScreen.this);
            }
            
            public String toString() {
                return "An anonymous Runnable!";
            }
        }.run();
    }
    
    public String toString() { return "A LocalScreen object";  }
    
    public void onMake(LocalScreen ls) { /* ... */ }
    
    public static void main(String[] args) {
        new LocalScreen().method();
    }
}

输出:

An anonymous Runnable!
A LocalScreen object

本帖已改写为文章 here .

关于Java:类.this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5530256/

相关文章:

javascript - 具有相同类的容器具有单独的 jquery 效果

javascript - 谷歌地图商店定位器将硬编码初始化修改为动态

javascript - 回调时JS引用 "this"

c++ - 带有模板的类的构造函数的问题

java - 从 String 表示中加载 Java 中的列表?

java - 如何在iReports中向reportElement标签添加新属性?

java - 变量 A 和 B 之间的差异大于 2

ruby - 使用 `===`(包含运算符)比较类

java - 为什么调用 "this "必须是构造函数中的第一个语句?

java - Java 的智能部署工具