内部类

内部类

概念:在一个类中再定义一个类。
特点:
	1.会生成独立的.class文件
	2.内部类可以直接访问外部类的私有属性,不会破会封装。
	3.为外部类提供必要的功能组件
内部类分类:
	一个java类中可以有多个class类,但是只能有一个public class类
	成员内部类
	静态内部类
	局部内部类
	匿名内部类

成员内部类

概念:在类的内部定义,与实例变量、实例方法同级别。(背)
特点:
	1.不能定义静态成员
	2.创建内部类对象,必须先创建外部类对象,因为成员内部类是外部类的一个组成部分,基于外部类对象存在
	3.当外部类和成员内部类属性重名,优先访问内部类属性

静态内部类

概念:与静态成员同级别,不依靠外部类对象,可直接通过类名调用静态成员,还可以直接创建对象访问静态内部类的实例成员。

特点:
	可直接访问外部类的静态成员,不能直接访问非静态成员。

局部内部类

概念:和局部变量同级别,定义在外部类的方法中。
特点:
	1.局部内部类的作用范围和创建对象只限于当前方法。
	2.局部内部类不能访问当前方法的局部变量,因为二者声命周期不一致,必须加final,让变量成为常量,扩大声	   明周期范围。
	3.限制类的使用范围。

匿名内部类

概念:此类没有类名,其他特征和局部内部类完全一致。
使用匿名内部类的前提:
	必须继承一个父类,或者实现一个接口。
特点:
	将定义类、类的实现、创建对象合为一体。
优点:减少代码
缺点:可读性差
posted @ 2020-12-25 15:04  6Ocean  阅读(29)  评论(0编辑  收藏  举报