有一个非常简单的程序:
public class A {
public static void main(String[] p) {
final Runnable r = new Runnable() {
public void run() {
System.out.println(r);
}
};
r.run();
}
}
这给出了:
$ javac A.java
A.java:6: variable r might not have been initialized
System.out.println(r);
^
1 error
- 为什么?
- Runnable 如何引用指向它的变量?
(在实际代码中,多了一层(监听器),引用 viathis
不起作用)