代码块
public class Demo { public static void main(String[] args){ { int a = 1; System.out.println(a); } int a = 2; System.out.println(a); } }
运行结果
1
2
构造代码块
放在要创建对象的类中的代码块,称为构造代码块。构造代码块与构造方法先后顺序无关,首先调用构造代码块,然后调用构造方法
class A { public A(){ System.out.println("调用了构造方法"); } { System.out.println("调用了构造代码块"); } } public class Demo { public static void main(String[] args){ new A(); new A(); } }
运行结果
调用了构造代码块
调用了构造方法
调用了构造代码块
调用了构造方法
扫描二维码关注公众号,回复:
3654470 查看本文章
静态代码块
静态代码块优先于构造代码块执行,且无论创建多少对象,一个静态代码块只会被调用一次
class A { public A(){ System.out.println("调用了构造方法"); } { System.out.println("调用了构造代码块"); } static { System.out.println("调用了静态代码块"); } } public class Demo { public static void main(String[] args){ new A(); new A(); } }
运行结果:
调用了静态代码块
调用了构造代码块
调用了构造方法
调用了构造代码块
调用了构造方法