java里的三大代码块

代码块

----------

1.局部代码块:

public class CodeDemo {

	public static void main(String[] args) {
		Do();
		
		// 局部代码块
		{
			int x = 10;
			System.out.println("First = " + x);
		}

		System.out.println(20);
	}

	public static void Do() {
		// 局部代码块
		{
			int x = 30;
			System.out.println("Second =" + x);
		}
	}
}

打印结果:

Second =30
First = 10
20

结论: 局部代码块,位于类的方法的内部,是按照在函数里的位置执行的。和普通的代码唯一区别是用完变量即可释放。


2.构造代码块和静态代码块

public class CodeDemo2 {

	public static void main(String[] args) {
		// 第一次
		DoitTest dit = new DoitTest();
		System.out.println("---------------");
		
		// 第二次
		DoitTest dit1 = new DoitTest();
		System.out.println("---------------");
		
		//  第三次
		DoitTest dit2 = new DoitTest(21);
	}
}

class DoitTest {
	int x = 10;

	// 静态代码块:类的代码块:随类的加载而加载(只一次)
	static {
		System.out.println("Doit 静态代码块");
	}

	// 构造代码块:对象代码块:随对象的创建而出生(多次)
	{
		x = 20;
		System.out.println(x + " Doit 构造代码块");
	}

	public DoitTest() {
		System.out.println(x + " 无参构造函数");
	}

	public DoitTest(int x) {
		this.x = x;
		System.out.println(x + " 有参构造函数");
	}

}
输出结果:

Doit 静态代码块
20 Doit 构造代码块
20 无参构造函数
---------------
20 Doit 构造代码块
20 无参构造函数
---------------
20 Doit 构造代码块
21 有参构造函数



结论:构造代码块和静态代码块都位于方法外。构造代码块是对象代码块(多次),静态代码块是类代码块(一次加载)。

其执行顺序(在类的放置顺序无所谓)分别是 静态代码块(随类加载)--》构造代码块--》构造函数。

注:构造函数必须在最后执行,不然构造函数的赋值就没有赋值的作用了。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值