加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

静态内部类、局部内部类可访问的变量限制

发布时间:2020-12-14 06:38:43 所属栏目:Java 来源:网络整理
导读:1、局部内部类: 可以访问的变量:(1)外部类的类变量(2)外部类的成员变量(3)所在方法中被final修饰的变量。 2、静态内部类: 可以访问的变量:(1)外部类的类变量 3、代码测试: public class Main { //test code int aaa=1; final int bbb=2; public

1、局部内部类:

可以访问的变量:(1)外部类的类变量(2)外部类的成员变量(3)所在方法中被final修饰的变量。

2、静态内部类:

可以访问的变量:(1)外部类的类变量

3、代码测试:

public class Main {
//test code
int aaa=1;
final int bbb=2;
public void get(){
int a=0;
final int c=2;
class C1{
public void get(){
System.out.println(c);
//1:提示错误:变量a不能被访问,需要被声明为final
System.out.println(a);//1(3)内部类只能访问所在方法中的final变量
System.out.println(bbb);//1(1)
System.out.println(aaa);//1(2)
}
}

}
static class C2{
    private void set(){
        //2:提示错误:非静态变量ccc不能被静态上下文引用.这一点可以从jvm的类加载机制的顺序得到解释
        System.out.println(aaa);//静态类方法只能访问外部类的静态变量.
        System.out.println(bob);//2(1)
    }
}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读