Java类的各种成员初始化顺序
发布日期:2021-06-30 17:38:49 浏览次数:2 分类:技术文章

本文共 483 字,大约阅读时间需要 1 分钟。

初始化规则

1.父类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。

2.子类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。
3.父类的【普通成员变量被普通成员方法赋值】和【普通代码块】,按在代码中出现的顺序依次执行。
4.执行父类的构造方法。
5.子类的【普通成员变量被普通成员方法赋值】和【普通代码块】,按在代码中出现的顺序依次执行。
6.执行子类的构造方法。

 

例如

java中class.forName()和classLoader都可用来对类进行加载。

class.forName()前者除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块。
而classLoader只干一件事情,就是将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块。
Class.forName(name, initialize, loader)带参函数也可控制是否加载static块。并且只有调用了newInstance()方法采用调用构造函数,创建类的对象
 

转载地址:https://lemonstone.blog.csdn.net/article/details/84778128 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:session和cookie的区别和联系
下一篇:HashMap实现原理及源码分析

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月14日 07时15分04秒