您的位置:首页 > 编程语言 > Java开发

java语言基础(48)——局部内部类访问外部成员和局部成员

2017-05-13 22:37 295 查看
局部内部类若是访问外部类的成员可以直接访问,若是访问局部变量,则变量必须用final修饰,也就是必须是常量。

原因:因为局部变量是随着方法的调用而存在,随着方法的调用结束而消失。如果但是局部内部类创建出的对象不会立即消失,如果它使用的局部变量消失了,就回产生问题。所以访问常量就无所谓了,因为常量在编译的时候,会替换成具体的内容。

上代码:

class Outer
{
public int num = 10;
public void method(){
final int num2 = 20;
class Inner
{
public void show(){
//输出10 可以直接访问外部成员
System.out.println(num);

//输出20 只能访问final修饰的局部变量
System.out.println(num2);
}
}
Inner i = new Inner();
i.show();
}

}

class InnerClassTest
{
public static void main(String[] args){

Outer o = new Outer();
o.method();// 10 20

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐