java中三种方式初始化数据域的方法:
1.在构造器中设置值
2.在声明中赋值
2
1.在构造器中设置值
2.在声明中赋值
3.初始化块(initialization block),在一个类的声明中,
可以包含多个代码块,
只要构造类的对象,这些块就会被执行,例如:
调用构造器的具体处理步骤:
(1) 所有数据域被初始化为默认值(0,null)
(2) 按照在类声明中出现的次序,依次执行域初始化语句和初始化块
(3) 执行构造器的主体
贴上示例代码
public class A{
private static int nextId = getValue();
private static int id = 4;
private String name;
private double salary;
public static int getValue() {
return ++id;
}
//obejct initialization block初始化块
{
//id=nextId;
nextId++;
System.out.println("block初始化块。。。。");
}
public static void main(String[] args) {
A a = new A();
System.out.println(nextId);
}
}
输出如下:
block初始化块。。。。2