`
孙健坤
  • 浏览: 41987 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
社区版块
存档分类
最新评论

诡异的内部类实例化方法

阅读更多
内部类在创建实例时的写法比较诡异。
在创建实例内部类的实例时,外部类的实例必须已经存在。例如Outer是外部类,Inner是Outer的内部类,如果要创建Inner类的实例就必须先创建Outer外部类的实例。
Outer.Inner oi = new Outer().new Inner();
以上代码等价于
Outer outer = new Outer();
Outer.Inner oi = outer.new Inner();
如果像下面这样写是错误的,会导致编译错误。
Outer.Inner oi = new Outer.Inner();
分享到:
评论
1 楼 hehu158 2011-06-30  
楼主还可以使用一下两种方法:
1.jdk变回1.4版本,就不会报错了;(不推荐)
2.将内部类设成静态的(static)就可以了。

相关推荐

Global site tag (gtag.js) - Google Analytics