Java 静态代码块讲解
来源:互联网 发布:阿里云访问美国ip慢 编辑:程序博客网 时间:2024/05/16 07:04
结合《Thinking in Java》讲一讲自己对静态代码块的理解。Java静态代码块就是一段跟在static关键字后面的代码,用来将多个静态初始化动作组织成代码块,并且每个类的static代码块仅会执行一次。在以下两种情况下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代码块在同一个类中仅执行一次。
0 0
- Java 静态代码块讲解
- 面试题讲解(一) java继承、静态代码块、非静态代码块的使用
- java 静态代码块
- JAVA 静态代码块
- Java静态代码块
- java静态代码块
- java静态代码块
- Java-静态代码块
- java静态代码块
- java 静态代码块
- java 静态代码块
- Java - 代码块和静态代码块
- Java静态代码块,构造代码块,普通代码块
- Java:普通代码块、构造代码块、静态代码块
- Java-普通代码块,构造代码块,静态代码块
- java-代码块、静态代码块、构造代码块
- java 代码块,构造代码块,与静态代码块
- Java 中的静态代码块
- keystone中的domain
- POJ-1182-食物链- 经典并查集应用
- Java语言中反射动态代理接口的解释与演示
- UITableView
- Cocos2d-x命令生成的工具导入到Eclipse中
- Java 静态代码块讲解
- Python Argparse模块的使用例子,往python脚本传参数
- jquery text val html区别
- table的代理方法 删除cell可编辑状态
- 关于图片加载性能优化总结
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 关于sip协议中涉及到的一些重要感念
- codeforces 591B
- 【leetcode】【40%】【M】Remove Duplicates from Sorted Array II