黑马程序员技术交流社区

标题: 毕老师的一个练习题 [打印本页]

作者: kkopopo    时间: 2014-2-12 22:39
标题: 毕老师的一个练习题
  1. class TD{
  2.     int y=6;
  3.     class Inner{
  4.         static final int y=3;  
  5.         void show(){
  6.             System.out.println(y);//此处为啥编译通过?
  7.         }
  8.     }
  9. }
  10. class Test{
  11.     public static void main(String[] args){
  12.         TD.Inner ti=new TD().new Inner();
  13.         ti.show();
  14.     }
  15. }
复制代码
  这是原本是毕老师练习题的,结果我在静态变量加了final 编译通过了 ! 那问题来了 这个内部类不是在局部地方和final无关的? 这个地方考点应该为非静态无法引用静态问题啊!求大大们解答!
作者: kkopopo    时间: 2014-2-12 23:16
找到了答案!给出网址http://hi.baidu.com/victorlin23/item/0d54b605a32a80ce90571896?qq-pf-to=pcqq.group
作者: 欢欢    时间: 2014-2-13 02:24
我也想问这个问题,难道加了final以后静态就不静态了?还是加载顺序变了?能给我解释下么?
作者: 欢欢    时间: 2014-2-13 02:26
网址里的内容还是没看出这个问题的答案啊
作者: panzhenglian    时间: 2014-2-13 11:59
非静态可以调用静态,相反,静态方法不可以调用非静态成员或者方法。




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