1.它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化,
2.对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!!
3.可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”。
4.用static声明的方法为静态方法
5.不需要对象,就可以调用(类名.方法名)
在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
可以通过对象引用或类名(不需要实例化)访问静态成员。
普通方法中可以调用静态的属性和方法,静态的方法不能调用非静态的属性和方法;
public Test{
static {System.out.println("可以初始化");}
}
1.如果希望加载后,对整个类进行某些初始化操作,可以使用static初始化块。
2.是在类初始化时执行,不是在创建对象时执行。
3.静态初始化块中不能访问static成员。
4.执行顺序:上溯到Object类,先执行Object的静态初始化块,在向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。