静态代码块、构造代码块和构造方法的执行顺序

本文详细介绍了Java中静态代码块、构造代码块和构造方法的执行顺序。静态代码块在类加载时执行,只执行一次,用于初始化静态变量。构造代码块在每次创建对象时执行,用于初始化普通成员变量。构造方法在创建对象时执行,用于完成对象的初始化。在继承场景下,先执行父类的静态代码块和构造代码块,再执行子类的相关部分。
摘要由CSDN通过智能技术生成

静态代码块和构造代码块结构如下: 
static { 
静态语句代码块 


{ 构造代码块 } 

特点:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。而构造代码块随着对象的创建而执行,每创建一次对象就执行一次构造代码块。优先级:静态代码块>构造代码块(普通初始化块)>构造方法

public class Test_Static_Class {  
    //静态代码块  
    static {  
         
       System.out.println("静态代码块");  
   }  
   {  
       System.out.println("普通代码块1");  
   }  
   
   public   Test_Static_Class() {  
       System.out.println("执行了构造方法");  
}  
   //普通的成员方法  
   public void test() {  
       System.out.println("在方法中的普通代码块");  
       //普通的代码块  
       {  
           System.out.println("普通代码块");  
       }  
        
}  
   public static void main(String[] args) {  
    System.out.println("执行了主方法");  
    System.out.println("--------------------");  
    new Test_Static_Class();  
    System.out.println("------第二次创建对象---------------&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值