初始化块是Java类里可出现的第4中成员(前面依次有成员变量、方法和构造器)
初始化块的修饰符只能是static
package chap5_9;
public class Person {
{
int a = 6;
if (a > 4) {
System.out.println("Person 初始化块:局部变量a的值大于4");
}
System.out.println("Person的初始化块");
}
{
System.out.println("Person的第二个初始化块");
}
public Person() {
System.out.println("Person类的无参数构造器");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Person();
}
}
Person 初始化块:局部变量a的值大于4
Person的初始化块
Person的第二个初始化块
Person类的无参数构造器
初始化块只在创建Java对象时隐式执行,而且在执行构造器之前执行。
package chap5_9;
public class InstanceInitTest {
{
a=6;
}
int a=9;
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new InstanceInitTest().a);
}
}
运行结果
9
package chap5_9;
public class InstanceInitTest {
int a=9;
{
a=6;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new InstanceInitTest().a);
}
}
运行结果
6