四种内部类


四种内部类

看懂别人写的内部类语法即可

  1. 成员内部类 - 把内部类看成是外部类的一个成员

    a. 成员内部类不能再去定义静态成员

    b. 成员内部类中可以通过Outer.this.非静态属性名来访问外部类的非静态属性

    外部类.内部类 对象名 = 外部类对象.new 内部类();
    
  2. 静态内部类- 把内部类看成是外部类的一个静态成员

    外部类.内部类 对象名 = new 外部类.内部类();
    

    a. 内部是可以定义静态和非静态属性的

    b. 内部的普通方法中是不允许访问外部类的非静态属性的.

    c. 内部的普通方法中是允许访问外部类的静态属性的

  3. 局部内部类 - 内部类是出现在外部类的方法中.

    a. 内部类是不允许使用访问修饰符,比如不能使用public

    b. 不能定义静态属性的

    c. 访问到外部类的静态和非静态成员的

    d. 生命只在所在的方法中,方法外部是没有办法拿到这个对象的(不能直接在外部new)

  4. 匿名内部类 - 必须掌握的

    好处 - 我们可以在程序中少写实现类

    jdk8.x中如果遇到函数式接口.推荐使用lambda表达式来替代匿名内部类的写法的.


文章作者: 码农耕地人
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 码农耕地人 !
  目录