Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于static静态代码块的执行时间问题 #677

Closed
jiangliuer-beep opened this issue Mar 9, 2020 · 4 comments
Closed

关于static静态代码块的执行时间问题 #677

jiangliuer-beep opened this issue Mar 9, 2020 · 4 comments
Labels
typo Correct typos

Comments

@jiangliuer-beep
Copy link

jiangliuer-beep commented Mar 9, 2020

在作者的原文中javaguide/#/docs/java/basic/final、static、this、super.md是这样描述的:

静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new一次就执行一次。

 但我认为作者的描述不够全面,静态代码块可能在第一次new的时候执行,但不一定只在第一次new的时候执行。
 参考博客java的static块执行时机的介绍,第一次new属于初始化阶段,但初始化阶段除了第一次new还有其他的可能,请作者再更新文档,添加详细的介绍。
 谢谢!

@AlisaBen
Copy link

AlisaBen commented Mar 12, 2020 via email

@Snailclimb
Copy link
Owner

在作者的原文中javaguide/#/docs/java/basic/final、static、this、super.md是这样描述的:

静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new一次就执行一次。

 但我认为作者的描述不够全面,静态代码块可能在第一次new的时候执行,但不一定只在第一次new的时候执行。
 参考博客java的static块执行时机的介绍,第一次new属于初始化阶段,但初始化阶段除了第一次new还有其他的可能,请作者再更新文档,添加详细的介绍。
 谢谢!

收到!🙏感谢

@AlexanderEthan
Copy link

调用类静态属性时就会执行了,包括方法成员变量

@miemiehoho
Copy link

static静态代码块 是在类初始化的时候执行的,和 new或者 Class.forName("ClassDemo") 没有任何关系。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
typo Correct typos
Projects
None yet
Development

No branches or pull requests

5 participants