class MyOuter2{
private String x;
void doStuff(){
int mloc= 100;
x ="Outer class variable";
class MyInner{
public void seeOuter(){
System.out.println("Access both: " + x+" and " + mloc);
System.out.println("Inner class ref is " + this);
System.out.println("Outer class ref is " + MyOuter2.this);
}
}
MyInner MethodInnerClass = new MyInner();
MethodInnerClass.seeOuter();
}
}
public class InnerClass {
public static void main(String[] args) {
MyOuter2 outer = new MyOuter2();
outer.doStuff();
}
}
在这段代码中,我在方法本地MyInner类中使用了doStuff()&#39变量mloc 我的编译器编译此代码并通过JDK8运行此代码。
答案 0 :(得分:1)
在Java SE 8中,本地类可以访问最终或有效最终的封闭块的局部变量和参数。初始化后永远不会更改其值的变量或参数是有效的最终。
答案 1 :(得分:0)
方法本地内部类变量可以在Java 8中访问,但不能在Java 7中访问。 我使用java版本" 1.8.0_31",它可以编译。但它无法在Java 7中编译。