局部内部类是否可以访问非final变量?
答案:不能访问局部的,可以访问成员变量(全局的)。
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();
}
}
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();
}
}
【局部内部类是否可以访问非final变量?】相关文章
2. static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
3. shell程序如何生命变量?shell变量是弱变量吗?
4. 是否可以从一个static方法内部发出对非static方法的调用?
6. 用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
10. 介绍Java的内部类
本文来源:https://www.mianshiwenti.com/a12292.html
进入下载页面
﹝局部内部类是否可以访问非final变量?﹞相关内容
- 怎样声明一个匿名的内部类
- 内部类的定义、种类以及优点
- 深圳用人单位是否可以扣押劳动者身份证吗?
- 你是否可以接受加班?
- 方法名是否可以与构造器的名字相同
- Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
- swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
- swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
- 构造器Constructor是否可被override?
- main 主函数执行完毕后,是否可能会再执行一段代码,给出说明