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


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之构造函数和构造代码块》。



你可能感兴趣的:(构造函数,静态代码块,构造代码块,普通代码块,java代码块)