A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhp19821223 中级黑马   /  2015-10-14 00:02  /  293 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

内部类(理解)
(1)把类定义在一个类的内部。
(2)特点:
  A:内部类可以直接使用外部类的成员,包括私有。
  B:外部类要使用内部类成员,必须创建对象使用。
(3)内部类的分类:
  局部内部类:定义在方法中的内部类
  成员内部类:定义在类中方法外的内部类
(4)成员内部类
  class Outer {
   class Inner {
   
   }
  }
  普通的修饰的时候:
   外部类名.内部类名 变量 = 外部类对象.内部类对象;
   Outer.Inner oi = new Outer().new Inner();
   class Outer {
   static class Inner {
        void method(){}
   }
  }
  用静态修饰内部类时:
   外部类名.内部类名 变量 = 外部类名.内部类对象
   Outer.Inner oi = new Outer.Inner();
  用静态修饰内部类和方法时:
   Outer.Inner.method()
  成员内部类:
   private:为了数据的安全。
   static:为了方便调用。
(5)局部内部类
  A:带名字的局部内部类
   class Outer {
    public void method() {
     final int a = 10;
     class Inner {
      public void show() {
       System.out.println("show");
       System.out.println(a);
      }
     }
     Inner i = new Inner();
     i.show();
    }
   }
  B:匿名内部类(掌握)
   a:没有名字的内部类。其本质是一个对象。是通过多态来实现的。
   b:前提:存在一个抽象类或者接口。
   c:格式:
    new 抽象类或者接口() {
     重写父类方法;
    };
    本质:是一个继承了类或者实现了接口的子类匿名对象。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马