class Student{
//成员变量
static int count = 0;
static int count2 = initStaticVar();
int age = 0;
//非静态代码块
{
System.out.println("这里是非静态初始化块。age:" + age);if(age < 16)
age = 16;
System.out.println("非静态初始化结束。age:" + age);
}
//非静态方法
System.out.println("这里是final实例方法初始化");
return "张三";
}
//静态代码块
static{
System.out.println("这里是静态代码块");
count = 5;
}
//静态方法
//执行一系列初始化的代码
//...
System.out.println("这里是私有静态方法进行静态变量初始化");
return 8;
}
Student(){ //创建实例的时候,才调用构造器
name = "匿名";
System.out.println("这里是构造器");
}
}
public class Demo5{
public static void main(String[] args){
Student stu = new Student(); // new一个类Student的实例,调用执行定义类Student。 执行顺序:变量-->静态方法-->静态代码块-->非静态方法-->非静态代码块 -->构造器
System.out.println(stu.name);
String b=stu.initInstanceVar();
System.out.println(b);
}
}
//输出结果:
这里是私有静态方法进行静态变量初始化
这里是静态代码块
这里是final实例方法初始化
这里是非静态初始化块。age:0
非静态初始化结束。age:16
这里是构造器
匿名
这里是final实例方法初始化
张三