1.静态类在java虚拟机加载的时候,是提前加载的,直接放在内存的静态代码区,静态类只有一个实例,最先创建最后消失。
2.静态类相当于公共类,对于其他的类来说,调用方便
普通内部类有如下特征:
1.内部类被编译成名为OuterClassName$InnerClassName.class的类。
2.内部类可以使用定义在它嵌套的外部类中的数据和方法,所以不需要将外部类对象的引用传递给内部类的构造方法,因此,内部类可以使程序简单而简洁。
3.声明用可见性修饰符声明内部类,遵从应用于一般类成员的可见性规则。
4.可以将内部类声明为static。一个static内部类可以使用外部类的名字访问。一个static类是不能访问外部类的非静态成员的。
5.内部类的对象经常在外部类中创建。但是也可以从另一个类中创建一个内部类的对象。如果该内部是非静态的,就必须先创建一个外部类的实例,然后用下面的语法创建一个内部类的对象:
OuterClass OutObject=new OuterClass();
OuterClass.InnerClass innerObject = OutObject.new Innerclass()
如果内部类是静态的,那么使用下面的语法为它创建一个对象:
OuterClass.InnerClass innerObject = new OutObject.Innerclass()