黑马程序员技术交流社区
标题:
关于static代码块的用法
[打印本页]
作者:
zcbyzcb
时间:
2013-5-4 09:50
标题:
关于static代码块的用法
static代码块和main方法效果是一样的啊,具体在什么时候用合适呢?
作者:
刘海东
时间:
2013-5-4 10:00
不一样啊,
静态代码块的作用是给一个类初始化用的,
类一加载就运行且只运行一次
main函数是一个程序的开头,被jvm识别
作者:
xiewen
时间:
2013-5-4 10:03
静态代码块:
特点:随着类的加载而执行,只执行一次。用于给类进行初始化的。
main方法是程序的入口点,由jvm调用
作者:
ZhaoYuBetter
时间:
2013-5-6 17:30
本帖最后由 ZhaoYuBetter 于 2013-5-6 17:34 编辑
参考 agile Java:
new 对象时,构造函数会执行,如果需要在
类级别进行复杂的初始化
,可使用静态初始化代码块完成;statc{};
静态块经常用来进行
类属性
的初始化;
类似有实例块:可进行成员变量的初始化;当然可以在构造函数中,初始化;为什么有这个呢?
有个匿名内部类,他是没有构造函数,如果要实现成员变量的初始化,就可以使用这个了,在 Swing中比较多见!
public class Test {
private static String staticVar1 = "staticVar1"; // 声明时初始化;
private static String staticVar2;
private static String staticVar3;
private static final String FINAL_VAR4; // 可在静态块里面执行初始化
private String var1 = "var1"; // 声明时初始化
private String var2;
private String var3;
/**
* 如果静态变量,初始化比较复杂,可以放在静态块里面
*/
static {
System.out.println("1.静态块开始执行了。。。");
staticVar2 = "staticVar2";
staticVar3 = "staticVar3";
FINAL_VAR4 = "final static var";
}
/**
* 实例块
*/
{
System.out.println("2.实例块执行了。。。");
var2 = "var2";
}
复制代码
作者:
王雪冬
时间:
2014-4-5 13:56
学习啦,楼上的不错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2