public class Test { public static void main(String[] args) { Outclass o = new Outclass(); Outclass.Innerclass i = o.new Innerclass(); System.out.println(o.x); System.out.println(i.x); } }
public class Test { public static void main(String[] args) { Outclass.Innerclass i = new Outclass.Innerclass(); System.out.println(i.x); } }
这里就可以在不创建外部类的基础上直接实例化内部类了。
3.访问控制(private, protected)
当然内部类也同样支持private, protected这两种修饰
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
class Outclass { int x = 5;
private class Innerclass { int x = 10; } }
public class Test { public static void main(String[] args) { Outclass o = new Outclass(); Outclass.Innerclass i = o.new Innerclass(); System.out.println(o.x); System.out.println(i.x); } }
public class Test { public static void main(String[] args) { Outclass o = new Outclass(); Outclass.Innerclass i = o.new Innerclass(); System.out.println(i.innerMethod()); i.printInner(); } }