本帖最后由 love_java 于 2013-4-14 21:13 编辑
静态代码块
在java类中,可以将某一块代码声明为静态的。
static {
//静态代码块中的语句
}
静态代码块主要用于类的初始化。它只执行一次,并在main函数之前执行。
静态代码块的特点主要有:
静态代码块会在类被加载时自动执行。
静态代码块只能定义在类里面,不能定义在方法里面。
静态代码块里的变量都是局部变量,只在块内有效。
一个类中可以定义多个静态代码块,按顺序执行。
静态代码块只能访问类的静态成员,而不允许访问实例成员
给你看个简单的例子首先看一下的一个静态块代码(参考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中就已经保存入预设的数据。 |