外部类
只允许使用“公用”、“抽象”和“终态”
总体作用
1:对只在一处使用的类进行分组
2:提高封装性
3:增强代码可读性可维护性
静态嵌套类使用static修饰
只能访问外层类的static成员,
不能直接访问外层类的实例变量和实例方法,用对象引用,实际相当于一种外部类不能用this调用外层类的实例成员可以有四种修饰符
成员内部类
没有用static修饰而且定义在外层类的类体
1.不能定义static方法和static变量
2.可用abstract和final修饰
3.可用其他修饰符
局部内部类
方法体或语句块内定义类
在区块外不能访问局部内部类,但局部内部类可以访问方法外的final修饰的参数和局部变量
不能用ppdps修饰符,可用final和abstract修饰符
static方法中定义的局部内部类,可以访问外层类定义的static成员,不能访问外层类的实例成员 1.8可以
匿名内部类
定义类的同时创建一个实例可以继承一个类或实现一个接口不需要使用extends或implements关键字,没有名称不能使用构造方法以及创建实例