内部类:类的五大成分之一,是定义在类中的类
class Outer{ // 成员内部类 class Inner{ // 不能定义静态成员 // static void show(){} // 可以定义常量 static final int count = 0; } static class StaticInner{ private String name; private int age; // setter getter // ...... } public Outer(){ class LocalInner{} } }
用处:提供更好的封装性、
分类:
1)静态内部类
2)成员内部类(实例内部类)
3)局部内部类
4)匿名内部类
静态内部类:有staic修饰,会加载一次,属于外部类本身。 访问格式:外部类名称.内部类名称 对象名称 = new 外部类名称.内部类构造器 成员内部类:无static修饰,随着对象的加载而加载 访问格式:外部类名称.内部类名称 对象名称 = new 外部类构造器.new 内部类构造器; 匿名内部类:一个没有名字的局部内部类 new 类名|抽象类|接口(形参){ // override }