我在方法中有两个同名的变量,另一个在该方法内的匿名内部类中。如何在匿名类中访问方法而无需重命名任何方法?
public void doSomething() {
final String s = "method string";
new Runnable() {
public void run() {
String s = "anonymous inner class string";
// how can I access the method string here without the need to rename any of the variables
}
};
}
我知道这可以通过重命名任何变量来解决,但我想知道是否有更聪明的方法。
答案 0 :(得分:0)
如果您不想重命名任何变量,则可以创建另一种方法来访问method string
变量。像这样:
final String s = "method string";
Runnable runnable = new Runnable() {
public void run() {
String s = "anonymous inner class string";
String outerS = getS();
System.out.println(outerS);
System.out.println(s);
// how can I access the method string here without the need to rename any of the variables
}
public String getS() {
return s;
}
};
此处创建方法getS()以访问method string
变量。