代码块:用{}的括起来的就叫代码块
代码块的分类:
1、普通块:定义在方法中用{}括起来的就是普通代码块
2、构造块:定义在类中的用{}括起来的就是构造代码块
构造块中的代码,会被加载到每一个构造器(构造方法前面)
特殊情况除外,比如使用this(参数);调用有参的构造方法,因为这一句必须放在首行
所以就不会在将构造块的代码加载到首行,简单来说冲突了
3、静态块:加上static使用{}括起来的就是静态块,优先级最高
4、同步块(在使用多线程的时候会使用,用来给共享空间进行加锁操作)
执行顺序:静态块--》构造块--》构造器--》普通块
package com.gml; public class CodeBlockDemo { { System.out.println("构造代码块");//构造代码块 } public void test1(){ System.out.println("test方法被执行");{ System.out.println("hello"); } } public static void main(String[] args) { CodeBlockDemo cbd = new CodeBlockDemo(); cbd.test1(); { System.out.println("main方法中的普通代码块");//普通代码块 } } static { System.out.println("静态代码块");//静态代码块 } public synchronized void test2(){ synchronized ("同步代码块"){ } } }