java学习 接口与继承10 内部类
内容
一个类中含有另一个类包含关系
基本知识
-
非静态内部类
在外部类下创建class 类名{ } 非静态内部类的实例化必须基于外部类的对象
先设立外部类对象,借着设立内部对象
内部类名 内部对象名=外部对象名.new 外部类名();
-
静态内部类 静态内部类不需要外部类对象,同时也无法直接调用外部属性和方法。
static class
实例化:外部类名.内部类名 内部对象名=new 外部类名.内部类名();
-
匿名类 在抽象类中无法实例化对象,但有时候想要立即钓友抽象类的抽象方法,可通过匿名类快速调用方法。
抽象类名 对象=new 抽象类名(){调用重写的抽象类方法} 此对象的类是系统自动创建的类非抽象类
-
本地类 直接 class 类名(){}创建一个类
注意事项
- 内部类在外部类下创建,而匿名类和本地类在启动函数下创建,可以在循环等结构中、
- 在匿名类中使用外部的局部变量,外部的局部变量必须修饰为final
- 匿名类似乎专门在抽象类下使用的(不确定)