static相关--------方法变量:加载顺序

一说到static就会涉及到下面内容的加载顺序,下面的“方法+变量”有5类,再牵涉到“子类”、“父类”就有10类参与比较:

   方法:

   static初始化块、main方法(带static){static一般方法、构造方法、一般成员方法}、一般初始化块    

  变量:

   static变量、 一般成员变量

注:蓝色部分为一类


加载顺序:

1.   父类的static成员变量;

2.   父类的static代码块;

3.   子类的static成员变量;

4.   子类的static代码块;

加载原则:先加载变量,再加载方法;先加载父类,再加载子类;

变量先于方法执行,这个我目前通过“写java代码打印输出”验证不了;

5.   父类的一般成员变量;

6.   父类的main方法... ... ... ...

       main方法里有调用{static一般方法、构造方法、一般成员方法}的逻辑,他们就顺序执行;不调用不执行;

7.   子类的一般成员变量;

8.   子类的main方法... ... ... ...

       main方法里有调用{static一般方法、构造方法、一般成员方法}的逻辑,他们就顺序执行;不调用不执行;


说明:蓝色部分都是普通方法,调用了才加载执行,不调用不执行,所以谈不上加载顺序。

           java方法里写里书写它们的顺序就是它们的加载顺序;

          另外,“一般初始化块 ”都是在new一个它所在的类对象后才执行;不new一个对象不执行;

          new一个类对象后,加载顺序:1. 一般初始化块      2. 构造方法























   


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值