1.内部类 概述:在一个类的内部又定义了新的类
分类: 1.成员内部类:定义在成员变量位置
2.静态内部类:在成员内部类的基础上多了一个static
3.局部内部类:在方法内定义类
4.匿名内部类:本质-- 创建了一个没有名字的子类对象
前提--必须又一个能当父类的类或接口存在
应用场景--当方法参数是接口或父类类型的时候,可以使用该类型的匿名内部类对象作为实际参数 使用 好处:代码写的更少
2.泛型 概述:我们定义了一个特殊的变量,这个变量可以接受一个数据类型
分类: 1.泛型类
2.泛型接口
3.泛型方法
好处:添加数据时只能添加一种类型的数据,避免强制类型转换
泛型擦除:仅在源码中存在,编译后会消失
可以使用基本数据类型吗?不可以
3.枚举: 概述: 一个特殊的类
语法: 使用enum定义,且所有的枚举都是enum类的子类
本质: 实际就是在类中提前创建了N个常量对象而已
应用场景:在设计方法的形参时候,如果使用枚举可以对调用者传递的数据值进行限制