1、什么是嵌套类?
嵌套类就是普通内部类中加了static关键字------(在网上查找,有很多人把内部类统称为嵌套类,而用static修饰的内部类又称为顶级嵌套类,外围的类称为顶级类如
class TopClass{
static InnerClass{}
}
TopClass就叫顶级类,而InnerClass叫顶级嵌套类
。
2、嵌套类的特点。
(1)创建一个嵌套类对象,不需要与外部类进行关联。
(2)不能使用外部类非static修饰的属性和方法。
(3)嵌套类可以在内部包含静态和非静态的属性和方法,但是普通内部类就不能有静态属性和方法。创建一个静态内部类对象,还是需要外部类.静态内部类。如new TopClass.InnerClass();说明静态内部类并非和外部类没有一点关系
3、为什么要使用static修饰的内部类
(1)在JDK中,HashMap中的Entry就是一个静态内部类,具体为何要使用这种设计,暂时还不清楚,估计是使用了内部类的一个特点:防止重名。