本帖最后由 8047107 于 2013-6-6 20:20 编辑
abstract class AbsDemo
{
abstract void show();
}
class Outer
{
int x = 3;
/*
class Inner extends AbsDemo
{
int num = 90; //这里还好理解,内部类在成员位置,
void show()
{
System.out.println("show :"+num);
}
void abc()
{
System.out.println("hehe");
}
}
*/
public void function()
{
AbsDemo d = new AbsDemo()
{
int num = 9; /*关键是这里
不是说内部类定义在局部变量位置时
不能访问它所在的局部中的变量吗?
只能访问被final修饰的局部变量啊
这里的匿名内部类在局部位置把?
而且num也是局部变量把?
怎么能够正常运行呢?
*/
void show()
{
System.out.println("num==="+num);
}
void abc()
{
System.out.println("haha");
}
};
d.show();
}
}
class InnerClassDemo4
{
public static void main(String[] args)
{
new Outer().function();
}
}
|