你的分享就是我们的动力 ---﹥

关于方法内部类的有关问题

关于方法内部类的问题
最近在看书,书上说如果在一个方法里面定义一个类的话,这个类不能访问外面方法的本地变量,如果访问会出错,以下是书上的例子:

public class Test{
int age=26;
public static void main(String[] args){
Test t=new Test();
t.walk();
}
public void walk(){
int height=183;
class Inner{
void run(){
System.out.println("我是方法内部类");
System.out.println(age);
System.out.println(height);
}
}
Inner i=new Inner();
i.run();
}
}

输出的结果是:
我是方法内部类
26
183

书上给的例子如果在void run()里面访问height的话会报错的,但是实际上没有报错,书上的例子用的是JDK7,我用的是JDK8.会不会是版本的问题,还是我的理解哪里错了呢?

求大神解答
------解决思路----------------------
当一个方法的局部内部类想引用其他局部变量或方法参数时,其局部变量或者方法参数必须是final修饰,但是Java8.0后可以不需添加final