内部类:把一个类定义到另外一个类的内部 即就是内部类
好处: 可以直接使用外部类的成员
特点:1.内部类仍然是一个独立的类,编译后仍然是一个.class文件 外部类name$内部类name.class
2.可以任意访问外部类的成员
有些类只需要使用一次,那么就没必要去创建一个新的类,java中提供了一个匿名的类,用来实现接口/继承抽象
在哪里使用 在哪里直接new; 都不是创建对象,而是创建了一个匿名内部类的对象
匿名内部类 :是一种特殊的局部内部类,它是通过匿名类实现接口
new 接口名称/抽象类名{
}
内部类意义
1.封装性
将只有在某个类中使用的功能定义在内部中,并可以使用不同访问权限修饰控制
2.实现多继承
java是不支持多继承的,多继承有一个致命性的缺陷,容易出现钻石继承结构