静态代码块就是在类加载的时候运行,并且只加载一次,通常用在某些事情在类加载时运行,只需用一次的地方,比如jdbc链接数据库,还有一些工具类导入某些配置文件等等。
现在链接数据库都已被框架封装好,我用静态代码块更多的地方就是导入配置文件,或者给这个类的一个final属性赋值。用途很多,当你需要某些功能时你就明白了。
static{
/*
* 当程序开始运行时,程序会运行这里,把这里的内容放进内存,只到程序结束。
* 我用过 静态块的情况也只有写 JDBC(Java 与 数据库交互需要用到的东西),的时候加载
* 驱动包的语句放在里面,因为如果每运行一次 数据库操作就加一次包,很占用资源,
* 不如一开始就把它放进内存,只放一次,供调用即可,可以说用的非常频繁才会这样做。
*/
Class.forName("驱动路径");
}
最后:
希望帮到你,有问题可以 Hi 我。
给你看个简单的例子
首先看一下的一个静态块代码(参考java的类装载机制)
//静态块:模拟生成内存中的用户数据,用户名为user1-10
//当程序启动时,这段代码(静态块中的)会自动执行,向userDB中存入数据
static
{
for(int i=0;i<10;i++)
{
UserInfo user=new UserInfo();
user.setName("user"+i);
user.setPassword("pwd"+i);
userDB.put(user.getName(), user);
}
}
“静态块”中代码的特点是:在这个类被装载时就会执行,且只执行一次。这意味着“静态块”会先于属性初始化执行,当其他的对象调用Daotools中的方法千,UsuerDB中就已经保存入预设的数据。
一个类被加载的时候会执行静态代码方块中的语句
而且只被执行一次
用处嘛,你以后接触JDBC之后就可以用到
注册JDBC驱动,只需要注册一次,而且是在第一次用的时候注册,所以可以用静态代码方块来完成.
可以直接使用类名来引出你的方法!而不需要声明对象引用和初始化对象!
这种方法在JDBC中很常见!!!