黑马程序员技术交流社区

标题: 局部内部类中的一个疑惑 [打印本页]

作者: 123412    时间: 2015-3-23 18:57
标题: 局部内部类中的一个疑惑
本帖最后由 123412 于 2015-3-24 16:24 编辑

我们都知道,在局部内部类中要想访问局部内部类所在的函数中的局部变量时,这个局部变量前要加fianl修饰符,否则是访问不了的,那为什么我的下边的这个程序能访问呢?
class Testthree
{
        public static void main(String[] args)
        {
        new Outer().show();
        new Outer().show();
        //地下这两种方式是不能行通的
        //new Outer().show().Inner().show2();
        //new Outer().Inner().show2();
        }
}
class Outer
{
        int age=3;
         void show()
        {
                //此时的变量num必须是被final修饰符修饰的,如不是,则不能被
                //调用。
            int b=4;
                int num=2;
                class Inner
                {
                         void show2()
                        {
                        System.out.println("b="+b);
                        System.out.println("num="+num);
                        System.out.println("age="+age);
                        System.out.println("这是局部内部类中的内容!");
                        }
                }
                new Inner().show2();
        }
}

求解求解
作者: 123412    时间: 2015-3-24 16:41
这个怎么没有人回复呢?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2