微信

使用微信服务,更方便

职友集>Java面试题 > 局部内部类是否可以访问非final变量?

局部内部类是否可以访问非final变量?

2015-07-05 06:30:02 阅读( 61 )

2980人 收藏本页

标签:Java面试题

答案:不能访问局部的,可以访问成员变量(全局的)。
class Out
{
private String name = “out.name”;
void print()
{
final String work = “out.local.work”;//若不是final的则不能被Animal 使用.
int age=10;
class Animal
//定义一个局部内部类.只能在print()方法中使用.
//局部类中不能使用外部的非final的局部变量.全局的可以.
{
public void eat()
{
System.out.println(work);//ok
//age=20;error not final
System.out.println(name);//ok.
}
}
Animal local = new Animal();
local.eat();
}
}

来自IT公司面试手册

下一篇:运行时异常与一般异常有何异同?

上一篇:初始化了一个没有run()方法的线程类,是否会出错?

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题