java在实例化对象的时候,可以将部分操作写在构造函数当中,但是如果要在实例对象之前执行某些操作,那么我们就需要用到,匿名代码块,或者静态代码块,代码如下:
1 public class HelloWorld { 2 public static void main(String[] args) { 3 Person person = new Person(); 4 } 5 } 6 7 class Person{ 8 9 { 10 System.out.println("我是匿名代码块"); 11 } 12 13 static { 14 System.out.println("我是静态代码块"); 15 } 16 17 public Person(){ 18 System.out.println("我是构造函数"); 19 } 20 }
运行结果如下:
1 我是静态代码块 2 我是匿名代码块 3 我是构造函数
至此,我们得出结论,静态代码块最早被执行,然后是匿名代码块,最后执行构造函数