/**
* 内部内访问的局部变量必须加final修饰符,因为方法入参里面的局部变量生命周期在方法体之内,而内部类的生命周期是成员级别的
* 如果不加final关键字:那么当myRun方法执行完成之后name的生命周期就结束了
* 如果加上final关键字:内存中就会保存一份该内部变量的副本,当内部类访问时其实访问的是这个副本,
* 实际上:内部类会将这个局部变量复制为它本身的一个成员变量,就相当于把局部变量的生命周期延长了
*/
public static void myRun(final String name){
new Thread(){
public void run(){
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(name);
}
}.run();
}