Java 静态代码块讲解
2015-11-19 16:46
771 查看
结合《Thinking in Java》讲一讲自己对静态代码块的理解。Java静态代码块就是一段跟在static关键字后面的代码,用来将多个静态初始化动作组织成代码块,并且每个类的static代码块仅会执行一次。在以下两种情况下static代码块会被执行:
情况1:当首次生成这个类的一个对象时。
情况2:首次访问属于这个类的静态数据成员时。
main方法中单独执行语句①,触发情况1。单独执行语句②,触发情况2。二者控制台结果皆为:
执行static代码块
执行cup1的构造方法
执行cup2的构造方法
当同时执行语句①②时,控制台结果依然为:
执行static代码块
执行cup1的构造方法
执行cup2的构造方法
说明static代码块在同一个类中仅执行一次。
情况1:当首次生成这个类的一个对象时。
情况2:首次访问属于这个类的静态数据成员时。
public class ExplicitStatic { public static void main(String[] args) { new Cups(); //① Cup cup = Cups.cup1; //② } } class Cup { Cup(int i) { System.out.println("执行cup" + i + "的构造方法"); } } class Cups { static Cup cup1; static Cup cup2; static { System.out.println("执行static代码块"); cup1 = new Cup(1); cup2 = new Cup(2); } }
main方法中单独执行语句①,触发情况1。单独执行语句②,触发情况2。二者控制台结果皆为:
执行static代码块
执行cup1的构造方法
执行cup2的构造方法
当同时执行语句①②时,控制台结果依然为:
执行static代码块
执行cup1的构造方法
执行cup2的构造方法
说明static代码块在同一个类中仅执行一次。
相关文章推荐
- Eclipse用法和技巧二十七:定义自己的快速联想词
- 点击eclipse中的小猫启动项目
- Eclipse用法和技巧二十六:浅谈快捷键
- Java基础——IO(2)
- Eclipse用法和技巧二十五:eclipse图标的含义
- jdbc+struts axis 传递大数据
- Java基础——IO(1)
- [原]Eclipse启动报错:An internal error occurred during: "Building workspace".
- Eclipse用法和技巧二十四:当git遇上eclipse
- Eclipse中定制快捷键
- Eclipse用法和技巧二十三:查看JDK源码
- Eclipse用法和技巧二十二:快速调整字体大小
- Java微观探源(三)_虚拟机调优之工具十问
- Myeclipse10注册码
- Eclipse用法和技巧二十一:工程的展示途径
- JavaWeb开发基础:Servlet登录小实例
- 关于Eclipse(MyEclipse)中一次性批量导入多个项目Project.
- Eclipse用法和技巧二十:一个快速打印技巧
- java 死锁
- 一致性哈希算法与Java实现