java 语句块 构造函数执行顺序

本文通过示例代码详细解析了Java中构造函数、普通语句块和static语句块的执行顺序,展示了静态成员初始化、静态方法调用、实例创建过程中的执行流程。

初学JAVA,语句块有普通语句块和static语句块。

一直不明白构造函数、语句块、static语句块的执行顺序,搜了一下,执行了一遍就明白了。

public class Test1 {

		   public static int X=100;  
		   public final static int Y=200;
	     public Test1(){  
		        System.out.println("Test构造函数执行");  
		   }  
		    static{  
		        System.out.println("static语句块执行");  
		    }  
		    
		    {
	         System.out.println("not static 语句块执行");
		    }
		    
		    public static void display(){  
	         System.out.println("静态方法被执行");  
		    }  
		    public void display_1(){  
		         System.out.println("实例方法被执行");  
		    }  
		    
		    public static void main(String [] args){
		       Test1.display();//相当于直接写display
		         System.out.println("x=" + Test1.X + "   y=" + Test1.Y );
		        Test1.display();
		        Test1 t1 = new Test1();
		        Test1 t2 = new Test1();
		        //t1.Y=10;//final修饰的数据不能修改
		        t2.X=300;//相当于直接给X赋值,t1\t2的X的值都改变
		        System.out.println("X=" + t1.X + "   Y=" + t2.Y);
		       t1.display();//相当于display()
		       t1.display_1();
		    }
}
static语句块执行
静态方法被执行
x=100   y=200
静态方法被执行
not static 语句块执行
Test构造函数执行
not static 语句块执行
Test构造函数执行
X=300   Y=200
静态方法被执行
实例方法被执行

参考 点击打开链接
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值