A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class OuterDemo
{
        public static void main(String[] args)
        {
               
                new Outer().test();
        }
}
class Outer
{
        int num=3;
        void test()
        {
                final int x=9;

                class Inner
                {
                        void show()
                        {
                                //System.out.println("num="+num);
                                System.out.println("x="+x);
                        }
                }
                Inner inner=new Inner();
                inner.show();
        }
}

我自己写代码练习的时候,并没有在 int x=9这句代码前的前面写final,也是可以运行的,可为什么看毕老师视频的时候,发现视频中说,没有final就会报出从内部类中访问局部变量x,需要被声明为最终类型 ,这个是怎么回事呢?求解答,谢谢!!

2 个回复

倒序浏览
貌似JDK1.7以上就默认了
回复 使用道具 举报
showdy 发表于 2015-4-13 21:08
貌似JDK1.7以上就默认了

意思是1.7的新特性吗?我确实用的是最新的版本
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马