MindScape

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
平时不太用java的inner class,也就知道里面inner class可以访问外部对象的实例成员。
今天碰巧试了一下C#和java的嵌套类的区别,感觉java的嵌套类其实更像是嵌套对象的样子。
而C#的嵌套类则就是类定义的嵌套的感觉只可以访问父类的静态成员。

还发现了java的一个有趣的语法 x.new inner(); (x是一个Outer对象)
class Outer {
    class Inner {
        private foo() {
            System.out.println(outerString);//ok but will fail in C#
        }
    }
    private String outerString;
    public void main (String[] args) {
        Outer outer = new Outer();
        Inner inner = outer.new Inner(); // interesting new
        
    }
}
posted on 2004-12-09 01:36  Jonny Yu  阅读(1518)  评论(2编辑  收藏  举报