四、静态代码块
静态代码块是使用static修饰的代码块,一般使用JNI时就会碰到。
例如Java中的Object类:
public class Object {
private static native void registerNatives();
static {
registerNatives();
}
......
}
那么我们就会有这么一个疑问,静态代码块在程序运行的顺序是怎样的呢?
还是使用实例来说话吧。
public class StaticBlock {
static {
System.out.println("running StaticBlock static block!");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("running StaticBlock.main()");
}
}
运行的结果如下:
running StaticBlock static block!
running StaticBlock.main()
五、总结
1)使用static来修饰的变量等,不再属于某一个对象,而是属于一个类;
2)静态方法和静态变量的引用可以使用"类名.方法"和"类名.变量";
3)在静态方法中不能使用非静态的方法或成员变量,反之,则可以;
4)使用static修饰的代码块的执行顺序在main函数之前。