java和C#在嵌套类上的差异

平时不太用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
        
    }
}

转载于:https://www.cnblogs.com/jonnyyu/archive/2004/12/09/74666.html

你可能感兴趣的:(java和C#在嵌套类上的差异)