• 首先执行基类的构造函数
  • 然后执行派生类的构造函数之外的初始化语句
  • 最后执行派生类的构造函数

在Java中,如果派生类构造函数需要调用基类的构造函数,那么基类构造函数必须作为派生类构造函数的第一句话。在Python中,派生类调用基类的构造函数就比较灵活。

如下代码有一个基类Base,一个派生类Son,Son有一个成员变量Value。在创建Son对象时,执行顺序为基类的构造函数、Value的构造函数、Son的构造函数。

package weiyinfu.colorama;public class Why {
class Base {Base() {System.out.println("base is called");}
}class Value {Value() {System.out.println("value is called");}
}class Son extends Base {Value v = new Value();Son() {System.out.println("son is called");}
}public static void main(String[] args) {Why y = new Why();Son s = y.new Son();
}
}

转载于:https://www.cnblogs.com/weiyinfu/p/11098902.html

Java构造函数执行顺序相关推荐

  1. java 继承类 变量、静态变量、构造函数执行顺序

    java 继承类 变量.静态变量.构造函数执行顺序 Java代码   class C{ static int prt(int i){ System.out.println(i); return i; ...

  2. java先执行static还是构造函数_【Java基础】类的实例化、static、父类构造函数执行顺序...

    重温java基础,以免自己以后犯原则性错误,这是最基本,最基础的东西. 先看结论: 一个类的实例化过程: 1,首先会执行类中static代码块(不管代码块是否在类的开头还是末尾处),如果这个类有父类, ...

  3. Java代码执行顺序

    Java代码执行顺序 1. Java初步认知 2. Javayun.java例子 3. 反编译Javayun.class文件 4. 分析Javayun_dxdump文件 5. 再来一个网上的例子Jav ...

  4. C#构造函数、私有构造函数、静态构造函数与构造函数执行顺序

    https://www.cnblogs.com/ArtofDesign/p/3603986.html 默认构造函数,如果没有为类指定任何构造函数,编译器会自动为类创建一个无参构造函数,用以初始化类的字 ...

  5. 静态代码块、非静态代码块、构造函数执行顺序

    静态代码块.非静态代码块.构造函数执行顺序 /*** 类的实例化顺序,静态代码块.非静态代码块.构造函数.* @author MING*/ class Person {static String na ...

  6. java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题

    2019独角兽企业重金招聘Python工程师标准>>> /* * 几大原则 * 一.静态成员变量(Static) * 1.静态成员变量为类变量,所有对象共享同一内存空间 * 2.静态 ...

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

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

  8. java静态代码块和非静态代码块和构造函数执行顺序

    一.同类中静态代码块,非静态代码块,构造方法的执行顺序 1. 执行顺序:静态代码块-->非静态代码块-->构造方法. 程序在执行时,首先执行静态代码块,且只执行一次.接下来再创建对象时(n ...

  9. java程序执行顺序

    一直都常听同学们和老师们讲过一些关于java程序中的一些执行流程和执行顺序,从来也没自己系统的总结过.今天突来兴趣,总结一下,也算给自己做了学校笔记. 一.首先在了解程序的一些加载顺序流程开始前,首先 ...

最新文章

  1. rds本地库到rds恢复_rds数据库 恢复本地
  2. POJ 3436 ACM Computer Factory(最大流+路径输出)
  3. boost::regex模块基于 ftp 的 regex_match 示例
  4. HTML中transform菜鸟,HTML canvas
  5. mac安装gdb及为gdb进行代码签名
  6. UI设计素材模板|音乐社交娱乐教育APP Makeapp Wireframe Kit
  7. 什么是fine-tuning
  8. kali linux之Meterpreter
  9. 编辑php程序推荐的软件,手机上如何才能编辑程序代码?(软件推荐)
  10. JavaScript 框架库 - jQuery
  11. CString.Format详解【摘录】
  12. OpenFire 安装及配置
  13. C#计算MD5结果不一致
  14. 透视投影中3DMM系数的求解
  15. 快递扫码入库PC系统
  16. mysql 多条件 sumif_关于求和我只用数据库函数Dsum,从不用Sum、Sumif等,你信吗?...
  17. 人力资源管理专业知识与实务(初级)【12】
  18. 分布式部署 Zabbix 监控平台
  19. 机械硬盘显示数据错误循环冗余检查文件如何寻回
  20. 如何看台式机计算机编号,如何查看台式电脑的主机编号和型号

热门文章

  1. oracle数据库恢复备份步骤
  2. TrustedInstaller.exe in Windows Vista consumes 100% CPU
  3. hdu 1186(搜索+HASH)
  4. CentOS 6.5上安装Python 2.7.9
  5. 链表的逆置,归并,拆分以及其他函数集合
  6. 借助模糊测试 深耕细作你的压力测试
  7. 厚积薄发-Web安全
  8. Java每天学习一点点 09.10.13
  9. SpringBoot 入门知识点详解
  10. AD域控exchange邮箱(一)——批量安装MSI安装包