A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗伊 中级黑马   /  2015-9-18 20:05  /  622 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

静态代码块,构造代码块,构造方法的执行顺序是什么?

8 个回复

倒序浏览
静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块 -->构造代码块 --> 构造函数
回复 使用道具 举报
静态是随着类加载而加载的,所以只要创建了类执行的时候静态代码块就会执行,  创建对象的时候,会先执行构造代码块,因为构造代码块属于类成员,创建对象的时候就会初始化成员和成员变量,初始化完毕最后是执行构造方法,如果集成了父类那么顺序结果还会不一样
回复 使用道具 举报
对象的初始化顺序:1首先执行父类静态的内容,2接着去执行子类的静态的内容,3再去执行父类的非静态代码块,4接着执行父类的构造方法;5执行子类的非静态代码块。6执行子类的构造方法。
总之一句话,静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。
回复 使用道具 举报
静态代码块-->构造代码块-->构造方法
回复 使用道具 举报
静态代码块,构造代码块  构造函数
回复 使用道具 举报
楼上都说的可以
回复 使用道具 举报
静态代码块(类加载的时候运行并且只运行一次)--->构造代码块(对象创建的时候运行)-->构造方法
回复 使用道具 举报
静态代码块 构造代码块  构造函数   好像静态成员变量最先吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马