java中用static修饰的为静态的,他可以修饰属性、方法。用static修饰的方法或属性,不需要new来实例化,可以通过类名.属性或类名.方法来调用。
此外,static的代码块可以分为四种:普通块、构造块、静态块、同步块。
普通块:写在方法中的语句块,直接用{}括起来的。
构造块:直接写在类中的一个语句块,用{}括起来的。
静态块:直接写在类中的。通过static声明的语句块。
同步块:在多线程的时候常用。(synchronized)
他们的执行顺序为:
构造块优先于构造方法,执行多次。
静态块优先于构造块,只执行一次。
静态的方法不能调用非静态的属性或方法;
非静态方法可以调用静态的属性或方法;