package com.Test.java;
/**
* 局部代码块,在方法中出现,限定变量生命周期,及早的释放,提高内存利用率
* 构造代码块,在类里面方法外出现,多个构造方法方法中相同的代码块放到一起,每次调用构造都会执行,并且在构造方法之前执行
* 静态代码块,在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候执行,并且只执行一次,一般用于加载驱动
* 同步代码块(多线程部分会讲到)
*
* 方法的执行顺序:1-->2-->3 看下面
* 1.静态代码块(随着类加载而加载且只执行一次)
* 2.构造代码块(每创建一个对象就会执行一次,优先于构造方法)
* 3.构造方法(每创建一个对象就会执行一次)
*/
public class BlockTest01 {
public static void main(String [] args){
//局部代码块
{
int x = 10;
System.out.println(x);
}
// System.out.println(x);
Student s1 = new Student();
System.out.println("------------------------");
Student s2 = new Student();
}
static{
System.out.println("BlockTest01里面的静态代码块");
}
}
class Student{
public Student(){
System.out.println("构造方法");
}
{
//构造代码块
System.out.println("构造代码块");
}
static{
System.out.println("静态代码块");
}
}
/*输出结果如下:
BlockTest01里面的静态代码块
10
静态代码块
构造代码块
构造方法
构造代码块
构造方法
*/