黑马程序员技术交流社区

标题: 关于内部类的总结 [打印本页]

作者: theape    时间: 2016-7-14 09:37
标题: 关于内部类的总结

内部类Outer 外部类Inner
静态的内部类访问外部类成员
  1. 外部类成员是静态: 外部类.成员     //成员名不相同可以直接调用
  2. 外部类成员非静态: new 外部类().成员        //实例化外部类   // 静态内部类不能直接访问外部类的非静态成员
复制代码


非静态的内部类访问外部类成员
  1. 外部类成员是静态:外部类.成员     //成员名不相同可以直接调用
  2. 外部类成员非静态:外部类.this.成员     //对象化外部类     //成员名不相同可以直接调用
复制代码

创建内部类对象
  1. 内部类非静态: 内部类 内部类对象 = new 外部类对象.内部类();
  2.                           外部类.内部类 对象 = new 外部类().new 内部类();
  3. 内部类是静态: 内部类 内部类对象 = new 静态内部类();
  4.                           外部类.内部类 对象 = 外部类.new 内部类();
复制代码

  1. // 内部类非静态
  2. Outer o = new Outer();
  3. Inner i = new o.Inner();
  4. Outer.Inner i = new Outer().new Inner();   //合并到一行
  5. //内部类是静态
  6. Inner i = new Inenr();      // 完整写法:  Outer.Inner i = Outer.new Inner();        
复制代码
   
方法内部类,只能在外部类方法中使用,方法内部类不能使用访问控制符和 static 修饰符
内部类 可以与 方法内部类 相互嵌套使用,不可多层
内部类不可多层嵌套
内部方法类不可多层嵌套







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2