构造代码块、静态构造代码块的区别以及构造方法的执行顺序

1.什么是代码块

代码块就是在java直接写在方法或是定义在语句中。 {} 就称为代码块
例如:if(){} 条件语句代码块
for(){}循环语句代码块

2.构造代码块

1.构造代码块是直接写在类中的代码块

 piblic class Demo{
     //创建构造代码块
    {
         System.out.println("这是构造代码块");
    }
   
} 

静态构造代码块

2.静态构造代码块
静态构造代码块时使用static关键字声明的代码
static 修饰的代码块或者变量是随着类的加载而加载的

public class StaticBlock{
    //创建静态构造代码块
    static{
         System.out.println("这是静态构造代码块");
    }

}

构造方法的执行顺序

静态构造方法优先级高于构造方法

public class Test{
        public static void main(String[] args){
          //创建对象  Test
	     Test t1 = new Test();
	     //调用构造方法
	     t1.Method();
	      //调用静态构造方法
	     t1.StaticMethod();
	     
  } 
    //创建构造方法
	  public void Method(){
		  System.out.println("我是构造方法");
	  }
	  //创建静态构造方法
	  public static void StaticMethod(){
		  System.out.println("我是静态构造方法");
	  }
	
}

运行结果:
我是静态构造方法
我是构造方法

因此静态构造方法级别高

静态构造代码块优先级高于构造代码块

public class Block{
 //构造代码块
 {
    System.out.println("构造代码块");
 } 
    //静态构造代码块
  static{
    System.out.println("静态构造代码块");
  }
   public static void main(String[]args){
     //创建构造代码块和静态构造代码块之后,直接将执行代码
  }

 }

运行结果:静态构造代码块
因此静态构造代码块级别高

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值