高阶面向对象3
内部类
1是类中的五大成分之一(成员变量,方法,构造器,内部类,代码块),如果一个类定义在另一个类的内部,这个类就是内部类。
2使用场景:当一个类的内部,包含了一个完整的事物没有必要单独设计时,就可以把这个事物设计成内部类
成员内部类
1就是类中的一个普通成员,类似之前学过的的普通的成员变量,成员方法。
格式
3访问其他成员的特点:
1和前面学过 的实例方法一样,成员内部的实例方法中,同样可以直接访问外部类的实例成员,静态成员
2可以在成员内部类的实例方法中,拿到当前外部类对象,格式:外部类名称.this
静态类内部方法
1有static修饰的内部类,属于外部类自己特有
3特点:可以直接访问外部类的静态成员,不可以直接访问外部类的实例成员
匿名内部类
1就是一个特殊的局部内部类;所谓匿名指的是程序员不需要为这个类声明名字
2特点:匿名内部类本质就是一个子类,并会立即创建出一个子类对象
3作用:用于更方便的创建一个子类对象
枚举
特点
2应用场景:
用来表示一组信息,然后作为参数进行传输。(选择定义一个一个的常量来表示以信息,并作为参数传输)
参数值不受约束
代码可读性好,参数值得到了约束
泛型
1定义类,接口,方法时,同时声明了一个或多个类型变量,
作用:泛型提供了在编译阶段约束所能操作的数据类型,并自动进行检查。这样做可以避免强制性类型转换,避免出现问题
本质:把具体的数据类型作为参数给类型变量
泛型类
泛型接口