在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。静态代码块随着类加载而加载,有多个静态代码块的,按代码块前后顺序加载。
由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。class Test{
int id;
String name;
static{
System.out.println("我是静态代码块");
}
}
例如在使用JDBC封装时就需要用到单例模式及静态代码吗。static{
Properties p=new Properties();
InputStream in=DB.class.getClassLoader().getResourceAsStream("db.properties");
try {
p.load(in);
driver=p.getProperty("driver");
connectionURL=p.getProperty("connection_URL");
username=p.getProperty("username");
password=p.getProperty("password");
} catch (IOException e) {
}
}