类的初始化顺序

类实例化前、调用类的静态方法之前,会初始化类,再实例化类或调用静态方法。

实例初始化:实例变量→实例代码块→实例构造器

类初始化:类变量(静态变量→全局变量)→静态代码块

类静态方法:调用的时候执行

package com.cmb.tdm.fee.invest;

//判断以下程序的执行顺序
public class CodeOrder{


  // 入口
  // A X Y C B Z
  public static void main(String[] args){
    System.out.println("Y");   //⑥
    staticFunction();      //⑦
    new CodeOrder();      //⑧
    System.out.println("Z");  //⑨
  }
  // 静态代码块
  static{
    System.out.println("A");             //①
  }

  static  CodeOrder codeOrder = new CodeOrder("E");  //②

  // 构造方法
  public CodeOrder(){
    System.out.println("B");
  }
  // 构造方法
  public CodeOrder(String E){
    System.out.println(E);    //④
  }
  // 实例语句块
  {
    System.out.println("C");  //③
  }

  // 静态代码块
  static {
    System.out.println("X");  //⑤
  }

  public static void staticFunction() {   // 静态方法
    System.out.println("4");
  }
}

//输出结果:A
//C
//E
//X
//Y
//4
//C
//B
//Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值