内部类总结

来源:互联网 发布:淘宝的海外直邮靠谱吗 编辑:程序博客网 时间:2024/04/30 12:45

成员内部类

  1. 它的成员不能用static修饰
  2. 调用方式
    new Outer().new Inner();
  3. 可以访问外部类的任意成员

静态内部类

  1. 属性可以是任意权限修饰
  2. 方法用static修饰,类也是static的
  3. 调用里面的普通方法
    new Outer.Inner().fun();
  4. 调用静态方法
    Outer.Inner.fun();

局部内部类

  1. 不能用public修饰
  2. 可获取外部类的成员变量、局部内部类的成员变量和外部类的局部变量(1.7之前需要用final修饰才能访问到)

匿名内部类

  1. 前提:实现一个接口或继承一个抽象类

心得

  1. 静态内部类不能直接访问外部类的非静态成员
  2. 外部类不能访问内部类的成员
  3. 可以把成员内部类当做类里面的成员去看待
  4. 当一个静态内部类对象存在,并不一定存在对应的外部类对象
2 0