内部类定义:在一个类的内部定义一个类 内部类分为:静态类(static class)、成员类(member class)、局部类(local class)、匿名类 (anonymous class)
static class | 作为类的静态成员存在于某个类的内部 |
member class | 作为类的成员存在于某个类的内部 |
local class | 存在于某个方法内部的类 |
anonymous class | 存在于某个类的内部,但无类名 |
static class:
不用创建外部类的对象就可以直接创建static class的对象。
static class可以引用外部类的static变量与static的方法,非静态不能引用。
member class:
只有创建外部类的对象,才可创建member class对象;
可以在外部类的成员方法中创建member class对象;
member class的成员不能为static成员,但允许静态常量存在。
local class:
在方法内部定义local class类,仅在该方法内才可以创建对象,一旦方法执行完毕,生命周期结束;
在包含local class 类的方法中, local class 仅能引用有final修饰的变量。
anonymous class:
类的定义与对象的创建被合并在一起
该类无类名