一、内部类分为普通内部类和静态内部类。
二、内部类:主要的应用是因为,这个类无需声明在外,只需要定义在一个类的内部,就可以满足需求,而且增强了代码的封装性和隐蔽性。
三、普通内部类:
1)普通内部类可以获得外部对象的引用,所以普通内部类能够访问外部对象的成员变量 ,也就能够使用外部类的资源。
2)普通内部类依赖于外部类,与外部类是共生共死的。创建普通内部类的对象之前,必须先创建外部类的对象。他的使用依赖于外部类的对象。
四、静态内部类:没有外部对象的引用,所以它无法获得外部对象的资源。静态内部类无需依赖于外部类,它可以独立于外部对象而存在。
(1) 外部类需要使用内部类,而内部类无需使用外部类的资源。
(2) 内部类可以独立外部类创建对象。
五、静态内部类和普通内部类的区别
(1)普通内部类不能声明static的方法和变量
普通内部类不能声明static的方法和变量,注意这里说的是变量,常量(也就是final static修饰的属性)
还是可以的,而静态内部类形似外部类,没有任何限制。
(2)使用静态内部类,多个外部类的对象可以共享同一个内部类的对象。
使用普通内部类,每个外部类的对象都有自己的内部类对象,外部对象之间不能共享内部类的对象