初始化顺序:父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父类的非静态变量(父类的非静态代码块)-->父类的构造函数-->子类的非静态变量(子类的非静态代码块)-->子类的构造函数

值得注意的是:父类的非静态变量(父类的非静态代码块)是同一级的,看哪个部分写在类的最前面谁就先被执行,子类的非静态变量(子类的非静态代码块)也是一样。

验证代码:

package com.hts.test;public class Test {public static void main(String[] args) { Child c=new Child(); } } class Parent { public static PrintMessage a=new PrintMessage("父类静态成员被初始化"); private PrintMessage b=new PrintMessage("父类非静态成员被初始化"); static{ System.out.println("父类的静态代码块被执行"); } { System.out.println("父类的非静态代码块被执行"); } public Parent(){ System.out.println("父类的构造方法被执行"); } } class Child extends Parent{ public static PrintMessage a1=new PrintMessage("子类静态成员被初始化"); private PrintMessage b1=new PrintMessage("子类非静态成员被初始化"); static { System.out.println("子类的静态代码块被执行"); } { System.out.println("子类的非静态代码块被执行"); } public Child(){ System.out.println("子类的构造函数被执行"); } } class PrintMessage{ public PrintMessage(String mes){ System.out.println(mes); } } 

输出结果:

java继承中的初始化顺序相关推荐

  1. Java类中的初始化顺序

    根据<Thinking in Java>相关章节及自己的理解举例来说明类初始化顺序. public class InitialOrder {private static String st ...

  2. java的子类调用构造器的顺序_深入剖析Java继承中的初始化与构造器调用关系

    声明:本文为牛旦教育原创,所有权保留,转载请注明来源. 一个对象有两件事:状态和行为. 类中的实例变量表示其对象的状态. 实例方法表示其对象的行为. 类的每个对象都保持自己的状态. 创建类的对象时,将 ...

  3. Java类中变量初始化顺序

    下面代码显示了静态初始化代码块,非静态实例初始化代码块,构造函数 等在Java中从代码载入内存到代码执行过程的执行顺序: import static net.mindview.util.Print.* ...

  4. c++构造函数以及类中变量初始化顺序

    c++构造函数以及类中变量初始化顺序 Submitted by ant on Fri, 03/29/2013 - 20:05 构造函数 c++ 的类提供了一种抽象机制,使用起来要比 c 方便很多.为了 ...

  5. C#中成员初始化顺序

    C#中成员初始化顺序 http://blog.csdn.net/huangcailian/article/details/25958967 一.成员初始化整体顺序 1.成员赋值初始化先于构造函数: 2 ...

  6. java 继承 子类 实例化_关于Java继承中父类和子类构造函数的问题

    Java子类在实例化时默认调用的是父类的无参构造函数,不论实例化时调用的是子类的有参还是无参构造函数, 1.当父类没有显式定义构造方法时, 编辑器会默认为此类添加一个隐式无参构造函数.此时子类可以有自 ...

  7. 转转转!java继承中的this和super

    学习java时看了不少尚学堂马士兵的视频,还是挺喜欢马士兵的讲课步骤的,二话不说,先做实例,看到的结果才是最实际的,理论神马的全是浮云.只有在实际操作过程中体会理论,在实际操作过程中升华理论才是最关键 ...

  8. 【总结篇】继承中的执行顺序

    作者:✿✿ xxxflower. ✿✿ <总结篇> 这个专题就记录一些自己在练习中所学习到的. 包括一些不熟悉的芝士点和一些小的细节. 今天我们来总结一下继承中的执行顺序. 首先执行静态的 ...

  9. java 初始化顺序_Java中对象初始化顺序的详细介绍

    前言 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.最近我发现了一个有趣的问题,这个问题的答案乍一看下骗过了我的眼睛.看一下这三个类: package com ...

最新文章

  1. 从60多场技术面试中,我总结了这份面试经验
  2. 深度学习助力网络科学:基于深度学习的社区发现最新综述
  3. 【每周NLP论文推荐】 聊天机器人中FAQ相关的论文推荐
  4. android api 相机,具有相机2 API的Android Lollipop上的ZSL功能
  5. SAP 那点事BW HANA
  6. winform响应时间最长是多少分钟_东营岩石流变仪多少钱 电液伺服加载系统_朝阳试验仪器东营岩石流变仪多少钱...
  7. 初一到初三需要用计算机吗,初一到初三不注意这8点,就等着中考完后悔吧!...
  8. 服务器搭建网站完整教程(宝塔面板+wordpress) 快速搭建网站 一键部署
  9. 华为云该网站服务器错了,云服务器选错镜像版本
  10. Quartz.NET 配置文件详解
  11. bpsk调制及解调实验_【详解】5G的调制与解调
  12. Udacity机器学习入门笔记——数据集与问题
  13. oracle12c关闭pdb,oracle 12c pdb启动与关闭
  14. 因为计算机丢失user32.dll,Win7系统出现无法定位动态链接库user32.dll错误提示解决方法...
  15. Pyrene-PEG3400-NHS,琥珀酰亚胺酯(NHS)官能化的芘-PEG
  16. 神经网络研究主要内容,神经网络的起源和发展
  17. SQL中with as用法
  18. 《Oracle 19c从入门到精通(视频教学超值版)》简介
  19. 【驱动模块】 -- linux的背光(backlight)子系统【转】
  20. 统计学习导论(五)重抽样法——习题

热门文章

  1. 01《构建之法》阅读笔记01
  2. 51nod1464(trie + dfs)
  3. 名企笔试:京东 2016 算法工程师笔试题(登楼梯)
  4. KVM源代码阅读--内核版本3.17.4
  5. 10 个步骤让你成为高效的 Web 开发者
  6. linux线上CPU100%排查
  7. Spring Bean初始化的几种方法以及执行顺序
  8. 一元多项式计算器_人教版初中数学七年级上册——去括号、去分母解一元一次方程公开课优质课课件教案视频...
  9. 【小程序案例】支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台...
  10. Spark:windows下配置spark开发环境