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

不在同一个外部类的内部类(在同一个类中)中的变量不能用this吗,要怎么用?

前后两个报错:

The public type a must be defined in its own file

No enclosing instance of the type a.innerC.innerD is accessible in scope

像这样:

https://img1.sycdn.imooc.com//5c3fe4870001f95f07570292.jpg

(代码:不管空格了)

public class a{

public class innerA{

public class innerB{

public void method4(){

System.out.println("a.innerC.innerD.this.var3:"+a.innerC.innerD.this.var3);

}

}

}

public class innerC{

public class innerD{

public int var3=23;

}

}


}


正在回答

2 回答

public class a {

public class innerA{

public class innerB{

public void method4(){

System.out.println("a.innerC.innerD.this.var3:"+a.innerC.innerD.var3);

}

}

}

public class innerC{

public class innerD{

public static final  int var3=23;

}

}

}

第一个问题是你创建类时名字不是这个,新建一个名为a的class文件就行了,第二个问题将var3的前边加 static final 就可以访问了

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

180416 提问者

对,竟然不是a.java,可能是复制到新的页面了; 就是把var3声明为静态常量,然后类名.变量名访问; 然后这种情况除了实例化innerD,和声明var3为静态常量之外,还能怎么用(关键是用this)
2019-01-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不在同一个外部类的内部类(在同一个类中)中的变量不能用this吗,要怎么用?

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