为了账号安全,请及时绑定邮箱和手机立即绑定

未什么不能访问变量b?求解答

package two;

public class MOuter {
    public void show(){
        final int a=25;
        int b=13;
        class NInner{
            int c=2;
            public void print(){
                System.out.println("访问外部类的方法中的常量a:"+a);
                System.out.println("访问内部类中的变量c:"+c);
                System.out.println("访问内部类中的变量b:"+NInner.this.b);
            }
        }
        NInner ni=new NInner();
        ni.print();
    }
    public static void main(String[] args) {
        MOuter mo=new MOuter();
        mo.show();
    }

}

正在回答

2 回答

把NInner.this.b换成b就可以了,b是方法show()中的一个变量,既不属于MOuter类,也不属于NInner类,所以显示错误。

就算b是MOuter类的一个变量,内部类也有权直接访问啊,b在内外类又没有重名,没必要在b前面写那一长串。


3 回复 有任何疑惑可以回复我~

应该是 MOuter.this.b而不是NInner.this.b吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

未什么不能访问变量b?求解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信