Java初始化顺序
我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点
public
class
InitialOrderTest {
// 静态变量
public
static
String staticField = "静态变量"
;
// 变量
public
String field = "变量"
;
// 静态初始化块
static
{
System.out.println(staticField);
System.out.println("静态初始化块"
);
}
// 初始化块
{
System.out.println(field);
System.out.println(
"初始化块"
);
}
// 构造器
public
InitialOrderTest() {
System.out.println(
"构造器"
);
}
public
static
void
main(String[] args) {
new
InitialOrderTest();
}
}
运行以上代码,我们会得到如下的输出结果:
静态变量
静态初始化块
变量
初始化块
构造
相关文档:
// 整数到字节数组转换
public static byte[] int2bytes(int n) {
byte[] ab = new byte[4];
ab[0] = (byte) (0xff & n);
ab[1] = (byte) ((0xff00 & n) >> 8);
ab[2] = (byte) ((0xff0000 & n) >> 16);
ab[3] = (byte) ((0xff000000 & n) >> 24);
return ab ......
javac是编译,Java是执行。javac后面的名字要有.java。java后面直接跟名字,没有后缀名。
必须先到文件的路径下再进行编译执行。
注意文件里是否使用了包,如package lee;
如果使用了的话,必须加上包的名字,如 javac lee.LocaleList.java
java lee.LocaleList
如果需要传递参数,则只需在java xxx 后边跟上就行了。 ......