java中静态代码块、构造代码块、普通代码块

优先级从高到低:静态代码块>main方法>构造代码块>构造方法>普通代码块

静态代码块只执行一次,而构造代码块在每次创建对象的时候都会执行。


1、普通代码块:

      普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定,先出现的先执行。

	public static void main(String[] args) {
		
		{
			int x=3;
			System.out.println("普通代码块内的变量x= "+x);
				
		}
		
		int x=1;
		System.out.println("主方法内的变量x= "+x);
		
		{
			int y=7;
			System.out.println("普通代码块内的变量y= "+y);
				
		}
	}

2、构造代码块

      构造代码块:直接在类中定义且没有加static关键字修饰的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于构造函数。

public class codeBlock02 {
	
	{
		System.out.println("第一代码块");
	}
	
	public  codeBlock02() {
		System.out.println("构造方法");

	}
	
	{
		System.out.println("第二代码块");
	}
	
	public static void main(String[] args) {
		new codeBlock02();
	}

}

3、静态代码块

      在Java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。JVM加载类时会优先执行静态代码块,所以静态代码块优先于主方法执行。如果类中包含多个静态代码块,那么按照先定义的静态代码块先执行,后定义的静态代码块后执行。注意:静态代码块不能存在于任何方法体内。

 

public class code {

	{
		System.out.println("Code的构造代码块");
	}
	static {
		 System.out.println("Code的静态代码块1");
	}
	public code(){
		System.out.println("Code的构造方法");
	}
	static {
		 System.out.println("Code的静态代码块2");
	}
	public static void main(String[] args) {
		System.out.println("Code的main方法");
		
		new code();

	}

}







      

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值