请教下,为什么静态方法在主体方法被实例化时未被调用,但是静态变量确实初始化了?

a2236403460 2021-02-26 11:34:12
main方法

构造方法、postConstruct修饰的init()方法

执行结果

因为从调用顺序来看应该是construct-》autowired-》postconstruct这个顺序,然后初始化类的时候static方法应该会先执行没错吧?但是执行结果来看静态方法根本没有执行,请教大神们这是为什么。。。
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2021-02-27
  • 打赏
  • 举报
回复
这个你估计要去看JVM的类、对象、变量初始化的顺序,JVM加载的时候会分配内存
叫练 2021-02-26
  • 打赏
  • 举报
回复
引用 3 楼 a2236403460 的回复:
确实,改用直接new方法以后.getCommNo()就行了,但是很奇怪,用t或者t1去.的话,IDEA提供的联想方法里没有getCommNo(),只能自己完整敲出来....
静态方法直接用类名就可以调用
a2236403460 2021-02-26
  • 打赏
  • 举报
回复
确实,改用直接new方法以后.getCommNo()就行了,但是很奇怪,用t或者t1去.的话,IDEA提供的联想方法里没有getCommNo(),只能自己完整敲出来....
叫练 2021-02-26
  • 打赏
  • 举报
回复
getCommonNo() static方法为什么要执行初始化?你的静态变量确实初始化了,是因为类初始化了。你可能把static代码块和static静态方法记混淆了,有疑问继续交流
whoisqqq 2021-02-26
  • 打赏
  • 举报
回复
静态方法不调用怎么会执行

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧