java基础:Java代码块和构造函数

时间:2023-02-11 18:13:21

Java代码块和构造函数

Java中代码块分为四种

普通代码块:就是一个方法的{},就算这个方法是个static方法也是普通代码块(只有在被调用时才会执行)。

静态代码块:就是static{}自动执行),静态代码块的作用是对类进行初始化(一般对类的静态属性进行初始化)。在对类进行加载的时候就会执行。

构造代码块:没有static修饰的代码块{}自动执行,构造代码块的作用是对所有对象的共性部分进行初始化,即没个对象创建时都会执行构造代码块。

同步代码块:在多线程中,就是用synchronized标记的代码段,同步代码块比同步方法小。

一个示例

public class Test {
private static int day=0;
private static int age=0;
// 静态代码块
static
{
System.out.println("这是静态代码块");
}
// 构造函数
public Test(){
System.out.println("构造函数day="+(++day));
}
// 构造代码块
{
System.out.println("构造代码块age="+(++age));
}
// 静态方法
public static void main(String[] args) {
System.out.println("进入main");
// 第一个对象
Test T1=new Test();
// 第二个对象
Test T2=new Test();
}

}
运行结果:
这是静态代码块
进入main
构造代码块age=1
构造函数day=1
构造代码块age=2
构造函数day=2

分析

这个程序中代码块的执行顺序

  1. 静态代码块在加载这个类时就会执行)

  2. main函数代码块(因为被调用了)

  3. 构造代码块(初始化对象共性部分)

  4. 构造函数(根据参入参数初始化对象非共性部分)





参考文献


csdn中作者“逝秋”的《java语言基础之4种代码块以及构造函数比较大集合-java基础精品笔记-作者:逝秋》。

博客圆中作者呼拉呼拉呼拉拉”的《JAVA之构造函数和构造代码块》。