内部类
===============================*类内部,或局部代码中定义的类*内部类与外部类相互没有任何访问限制什么时候使用内部类
--------------------------------------- 1. 外部类与内部类关系紧密 2. 作为隐藏类型(比如隐藏某种功能的实现,将内部类声明为private的) 3. 出于个人设计理念
非静态内部类
--------------------------------------- *属于实例 *不能定义静态成员class A{
class B {} }创建实例:
A.B b = new A().new B();静态内部类
--------------------------------------- *属于类 class A{ static class B{} }创建实例:
A.B b = new A.B();
局部内部类
--------------------------------------- *在方法中或局部代码块中定义的类class A{
void a(){ class B {} } }
匿名内部类
--------------------------------------
在代码块中直接new 一个接口并添加代码块的不带名称的类
class A{
void a(){
interface b = new interface(){}
}
}