当前位置: 首页 > Thinking in Java > 正文
第10章– 内部类 _.new
Jul112013
作者:边城网事 发布:2013-07-11 14:15 分类:Thinking in Java 阅读:1,307 抢沙发
package innerclasses; class SS { public SS() { DotNew dn = new DotNew(); //DotNew.Inner di = dn.new Inner(); //如果其他类的 内部类 的构造函数是private的, //则只有在这个内部类的外部类中可以使用这个内部类, //其他类是不能实例化这个内部类的 //DotNew.Inner di = dn.new Inner2(); //这样也不行,因为内部类Inner2是private的 } } public class DotNew { public class Inner { private Inner() { } } private class Inner2 { public Inner2() { } } public static void main(String[] args) { DotNew dn = new DotNew(); DotNew.Inner dni = dn.new Inner(); //直接创建 (普通,非static)内部类的对象 必须要有一个外部类对象 //这里 声明dni变量时,变量类型 不需要使用DotNew.Inner 可以直接使用Inner Inner iInner = dn.new Inner(); innerclasses.Inner ii = new innerclasses.Inner(); //当一个类A 和 B在同一个包里面,并且类B有个内部类也叫A, //此时如果使用类A,需要用 包名.A的方式 //就像上面的那样 } }
同一个包内的,与内部类同名的类
package innerclasses; public class Inner { public Inner() { System.out.println("和内部类Inner同名的,同一个包下面的Inner"); } }
赞 赏
微信赞赏
支付宝赞赏
本文固定链接: https://www.jack-yin.com/coding/thinking-in-java/2368.html | 边城网事