初次学习有很多地方不是很明白,请教一下各位:静态内部类和静态初始化块有哪些区别或联系?
静态初始化块是定义在类的构造方法中的一个初始化块,用于给静态变量赋初值;只在类加载的时候执行,且只执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。执行顺序:静态初始化块最先初始化;然后执行普通初始化块;最后执行构造方法。
静态内部类是创建在类内部的静态类;它不可以直接访问类的非静态成员;但是可以直接访问外部的静态成员。
综上:静态内部类和静态初始化块最大的区别就是,一个是类,一个是程序块;联系就是,他们都是静态的。