在实际的工作开发中,使用普通的内部类的场景比较多,似乎静态内部类并不常用,但是它也有其特定的使用场景。
比如说我们学习JAVA的时候,的main方法,它是static 方法,是程序的入口,但不需要每个java文件都定义这个方法吧。为了代码简洁,减少代码量
下面为了探索更多的使用场景,我们先来了解一下它的使用规则。
1、非静态内部类是不可以声明静态成员的(属性和方法),使用静态类就可以声明静态成员,而这招体现在实际的工作中,也许可以让你避免绕许多圈子。
2、非静态内部类,可以随意的访问外部类中的成员变量与成员方法,即便它们是私有的也可以(这是它活下来的重要手段之一,呵呵)。
但静态内部类对外部类的访问是有局限的,如不能访问外部类的非静态成员与变量(这是它的最大限制,也是使用频率上输给普通内部类的原因)
3、普通内部类把它理解为与外部类绑定了,创建普通内部类对象一定要通过外部类的对象new才行。而静态内部类是不需要的。