package com.test;
/*
* 静态代码块儿:随着类的加载,在整个程序运行的过程中只执行一次,执行顺序优先于main
* 构成:static+{代码}
* 作用:做类的初始化
*
* 构造代码块儿:随着对象的加载而加载,每次创建对象都会执行一次,执行顺序有先于构造方法
* 构成:{代码}
* 作用:作对象的初始化工作
*/
//输出结果:dacfgeb
public class Demo7 {
static {// 静态代码块儿执行优先于main
System.out.print("d");
}
public static void main(String[] args) {
System.out.print("c");
Student student = new Student();// 创建了类
student.play();
}
static {// 静态
System.out.print("a");
}
}
class Student {// main进入 new Student
String name;
public Student() {
System.out.print("e");
}
public void play() {
System.out.print("b");
}
static {
System.out.print("f");
}
{
System.out.print("g");
}
}