Java静态代码块的作用:Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用。一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需要使用静态代码块。
Java静态代码块的用法:一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。例如:
static
{
int
a=0;
}
静态方法中不用this是无法引用除自己方法体中定义的成员和参数以外的非静态变量或者方法的。
静态方法是不允许被子类重写的,但是子类可以覆盖父类的静态方法。
子类也不可将父类中的非静态方法重写为静态方法。
main方法也是静态方法,在main方法中访问类中的成员变量和方法,需要在方法体中创建类的对象
静态代码块和直接在变量前边加上static效果是完全一样的
static
{
int
x=0;
int
y=0;
}
static
int
x=0;
static
int
y=0;
上边2个效果完全一样.不一样的就是能少打几个static
static{
..............
}
在程序启动的时候执行
一般用来初始化只用一次的对象
比如
hibernate中的获取buildSessionFactory