序言

基类A

类B继承实现了A类

1在new B一个实例时首先要进行类的装载。(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B

3,装载父类A后,完成静态动作(包括静态代码和变量,它们的级别是相同的,安装代码中出现的顺序初始化)4,装载子类B后,完成静态动作类装载完成,开始进行实例化1,在实例化子类B时,先要实例化父类A

2,实例化父类A时,先成员实例化(非静态代码)3,父类A的构造方法4,子类B的成员实例化(非静态代码)5,子类B的构造方法

先初始化父类的静态代码--->初始化子类的静态代码-->初始化父类的非静态代码--->初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数

测试代码:

abstract class base

{

public int age=getNumber(100);

static{

System.out.println("base static block");

}

{

System.out.println("base nonstatic block");

}

static int sage=getNumber(50);

base(){

System.out.println(age);

System.out.println("base start");

draw();//会调用子类覆盖后的方法,这儿是0!

System.out.println("base end");

}

static int getNumber(int base){

System.out.println("base.getNumber int"+base);

return base;

}

public  void draw(){

System.out.println("base.draw");

}

}

public class initializeOrder extends base{

public int age=getNumber(1001);

private int _radius=getNumber(10);

static int sage=getNumber(250);

static{

System.out.println("subclass static block");

}

{

System.out.println("subclass nonstatic block");

}

initializeOrder(int radius){

_radius=radius;

System.out.println(age);

draw();//这儿是1000

System.out.println("initializeOrder initialized");

}

public void draw(){

System.out.println("initializeOrder.draw "+_radius);

}

public static void main(String[] args) {        // TODO Auto-generated method stub

new initializeOrder(1000);

}

}

输出为:

base static block

base.getNumber int50

base.getNumber int250

subclass static block

base.getNumber int100

base nonstatic block

100

base start

initializeOrder.draw 0

base end

base.getNumber int1001

base.getNumber int10

subclass nonstatic block

1001

initializeOrder.draw 1000

initializeOrder initialized

java 静态变量加载顺序_java 成员变量 静态变量代码块 静态代码快加载顺序相关推荐

  1. 加载顺序_JAVA类代码块和属性的加载顺序问题,不要以为静态块始终最先执行了!...

    类代码块和属性的加载顺序问题,不要以为静态块始终最先执行了! 我们知道在一个类中,类的加载顺序为 静态代码块-->普通代码块-->构造代码块,感觉静态块始终是最先初始化的,其实并不是,下面 ...

  2. [转载] Java静态代码块/构造代码块/构造函数/静态变量/成员变量(相关示例)

    参考链接: Java程序的输出| 构造函数 近期做牛客网的Java开发笔试题,发现这类型的题目较多,很容易混淆,特将相关概念和相关示例整理如下,供大家参考^_^ 1. 静态代码块在类加载时即运行,而且 ...

  3. java构造方法,构造代码块,静态代码块的执行顺序

    构造方法,构造代码块,静态代码块的执行顺序 静态代码块:用static声明,jvm加载类时执行,仅执行一次 类中直接用{}定义,每次创建对象时执行 同级别的变量(static和普通变量)的执行顺序由代 ...

  4. Java代码块(代码块与静态代码块使用细节及调用顺序)

    目录 1.代码块的基本介绍 2.静态代码块 类什么时候加载[重点] 创建对象实例时(new) 创建子类对象实例时,父类也会被加载 使用类的静态成员时(静态属性,静态方法) 3.代码块的使用小细节 普通 ...

  5. java 代码块(局部代码块、实例代码块、静态代码块、同步代码块)

    1 引言 代码块是类的成分之一:成员变量,方法,构造器,代码块,内部类. 在Java中,使用 { } 括起来的代码被称为代码块(Code block) 1.1 代码块的分类 根据其位置和声明的不同,可 ...

  6. 静态代码块 构造代码块 构造方法的执行顺序

    今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 执行顺序: 静态代码块>构造代码块>构造方法体 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构 ...

  7. java成员初始化顺序_Java成员初始化顺序

    1. 初始化顺序 在类的内部,变量定义的先后顺序决定了初始化的顺序.即使变量散布于方法定义之间,他们仍会在任何方法(包括构造器)被调用之前初始化. 2. 静态成员初始化顺序 1⃣️初始化类的静态成员或 ...

  8. Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序...

    实例化子类时,父类与子类中的静态代码块.实例代码块.静态变量.实例变量.构造函数的执行顺序是怎样的? 代码执行的优先级为: firest:静态部分 second:实例化过程 详细顺序为: 1.父类静态 ...

  9. Java中构造函数,静态代码块,构造代码块的执行顺序

    静态代码块:用static声明,jvm加载类的时候执行,只执行一次. 构造代码块:由{}定义,每一次创建对象的时候执行. 构造函数:对象一建立就调用相应的构造函数. 静态代码块 1.它是随着类的加载而 ...

  10. day9 java的静态代码块和代码执行顺序

    静态代码块 代码执行顺序 对于静态,不管是变量还是代码块.都是自上而下的.

最新文章

  1. Java反射原理学习之MethodHandle debug
  2. python递归实现_Python-递归实现
  3. 怎么看vray渲染进度_3dmax如何渲染光子,为什么会卡光子呢?
  4. 技术支持在大数据分析中的作用
  5. 机器学习知识点查漏补缺(朴素贝叶斯分类)
  6. Win10纯净版系统下载、制作和安装过程-联想客服建议
  7. 磁盘不见了只剩一个c盘_非常的奇葩,终于解决了硬盘从盘盘符消失的问题
  8. vux页面转换html,Vue 初学者使用 Vux 前端开发框架 - 文章教程
  9. matlab.emf,matlab的geoshow导出emf结果不是矢量图层
  10. 【番外篇】利率二叉树模型对冲
  11. 星球大战7:原力觉醒[Star Wars Episode VII:The Force Awakens]
  12. 2020大学研究生计算机排名,美国大学研究生计算机专业排名2020情况如何?
  13. excel中计算单元格值等于1的数量
  14. 01年北漂程序员年度总结,2021我废了,2022我重新做人了
  15. 最菜的我打卡的第二天
  16. MindMaster思维导图国内版更名“亿图脑图MindMaster”国产软件加速崛起!
  17. java is a_is_a()
  18. Java中用for循环输出九九乘法表
  19. 几款优秀的开源数据挖掘工具
  20. 小学-知识与能力【4】

热门文章

  1. vsCode个人设置
  2. (转)C#中的委托(Delegate)和事件(Event)
  3. 华为应用锁退出立即锁_华为P40系列三大安全锁,教你锁住你的隐私 - 企业资讯...
  4. Java基础知识之方法的通用格式、注意事项与带参数的方法
  5. 分布式事务最终一致性mysql_分布式事务最终一致性方案案例
  6. cookie可存的最大限制_一文梳理Web存储,从cookie,WebStorage到IndexedDB
  7. ajax引入html_Vue中发送ajax请求的库有哪些?
  8. Python按元组中第一个字符串升序第二个字符串降序排序
  9. C++ vector类的模拟实现
  10. 什么时候使用resulttype_柳州站东广场到底什么时候可以使用?