java类加载机制-类定义中new如何理解
高洛峰
高洛峰 2017-04-18 10:46:41
[Java讨论组]
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
黄舟

在运行 java 程序的时候,每个类只被加载一次。不可能重复加载的。所以也就不存在题主说的递归了。

PHPz

是不是把类加载和对象初始化搞混了?

怪我咯

楼主是不是想的太高深了?实例化和声明定义是2个概念和阶段。
A2有几个静态的成员变量在声明时实例化,而类的实例化过程是通过构造函数完成的。
这里看上去出现了嵌套,其实不然。编译器可以在编译实例化语句的时候申明指令跳转,跳转地址在二次编译的时候确定。
这样,类申明阶段,在实例化a,b,c,d的时候编译程序会跳转到A2(int i)的构造方法程序块。
在类实例化阶段的时候跳转到A()构造方法。
说白了就是在不同阶段调用对应的构造方法而已,没有楼主以为的循环嵌套。

天蓬老师

类加载时,对于静态变量和构造方法的加载顺序不一样吧。构造方法本质也是静态方法。
也不怎么懂,先占个板凳

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号