静态初始化和非静态初始化

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:14:28
静态初始化和非静态初始化他们之间的区别是什么。.
.谢谢.
举几个例子看看.
感激不仅

静态初始化块(staic {})是在这个类编译时就进行了初始化,而非静态初始化块是在这个类实现一个对象的时候才进行初始化的。
比如我写段程序
public Test{
private int x;
private char c;

staic{
x=10;
}

{
c='a';
}
}

上面这个类编译后,就实现静态初始化,对x赋值10,当c还是空值;
只当创建一个对象(Test test1=new Test();)的时候才调用非静态初始化块,对c赋值'a'。