黑马程序员技术交流社区
标题:
匿名内部类的小问题
[打印本页]
作者:
王亚男
时间:
2011-12-22 17:12
标题:
匿名内部类的小问题
本帖最后由 qwert 于 2011-12-23 18:25 编辑
各位前辈,我在看内部类的时候看到这里有个小小的疑问,就是下面这段代码中在不注释掉值为11和12的x的前提下,怎么访问到值为10的常量?
abstract class AbsDemo
{
abstract void show();
}
class Outer
{
private int x=9;
public void method()
{
final int x = 10 ; //就是想访问这个x
new AbsDemo()
{
int x = 11;
void show()
{
int x = 12;
System.out.println("x1="+x);
System.out.println("x2="+this.x);
System.out.println("x3=" );//就是想知道在不注释掉12和11这俩x的前提下,这写什么是能输出身为常量的那个x?
System.out.println("x4="+Outer.this.x);
}
}.show();
}
}
class InnerClassDemo4
{
public static void main(String[] args)
{
new Outer().method();
}
}
复制代码
作者:
马德强
时间:
2011-12-22 19:05
这种情况是实现不了的,
解决方案:1,改参数名
2,传参
作者:
王亚男
时间:
2011-12-22 19:11
马德强 发表于 2011-12-22 19:05
这种情况是实现不了的,
解决方案:1,改参数名
2,传参
谢谢前辈,我也是想的这两种方法,只是想可能还有不知道的地方。
谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2