java学习 接口与继承10 内部类

java学习 接口与继承10 内部类

内容

一个类中含有另一个类包含关系

基本知识

  • 非静态内部类

    在外部类下创建class 类名{ } 非静态内部类的实例化必须基于外部类的对象

    先设立外部类对象,借着设立内部对象

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

  • 静态内部类 静态内部类不需要外部类对象,同时也无法直接调用外部属性和方法。

    static class

    实例化:外部类名.内部类名 内部对象名=new 外部类名.内部类名();

  • 匿名类 在抽象类中无法实例化对象,但有时候想要立即钓友抽象类的抽象方法,可通过匿名类快速调用方法。

    抽象类名 对象=new 抽象类名(){调用重写的抽象类方法} 此对象的类是系统自动创建的类非抽象类

  • 本地类 直接 class 类名(){}创建一个类

注意事项

  • 内部类在外部类下创建,而匿名类和本地类在启动函数下创建,可以在循环等结构中、
  • 在匿名类中使用外部的局部变量,外部的局部变量必须修饰为final
  • 匿名类似乎专门在抽象类下使用的(不确定)
原文地址:https://www.cnblogs.com/tigo/p/14310319.html