java关于静态代码块的问题
来源:互联网 发布:手机淘宝返现怎么操作 编辑:程序博客网 时间:2024/05/17 09:00
一直把笔记记在本子上,过了一些时间之后就找不到,所以把一些笔记搬到这里,方便随时查询,这篇是关于静态代码块的笔记
加载一个类时,java中静态代码块首先执行:
- 调用一个类的静态成员变量或者方法,静态代码块会被首先执行,然后再执行其它,并且静态代码块只会被执行一次
- 通过对象来加载,也会先执行该类的静态代码块,然后再初始化构造方法中的语句,并且静态代码块只会被执行一次
综上可以得出,只要包含有静态代码块的该类名字出现时,该类的静态代码块就会被执行一次。
另外,在继承中,执行顺序是:
父类静态代码块–>子类静态代码块–>父类构造方法–>子类构造方法
附上测试代码:
public class Person { static int a = 2; static { System.out.println("hahaha"); } public Person() { System.out.println("hhahahhahahahhah"); }}class Child extends Person{ static { System.out.println("hehe"); } public Child() { System.out.println("skjfala"); }}
public class PersonT { public static void main(String[] args) { System.out.println(Person.a); System.out.println(Person.a); System.out.println(Person.a); Person p = new Child(); p = new Child(); }}
运行之后结果如下:
hahaha222hehehhahahhahahahhahskjfalahhahahhahahahhahskjfala
可以看到,静态代码块首先被调用,并且只执行一次。
0 0
- java关于静态代码块的问题
- 关于Java中静态属性和静态代码块的执行顺序问题
- 关于静态代码块,非静态代码块,构造函数的多态表现问题
- java关于代码块 , 动态代码块 , 静态代码块 , 静态方法 , 构造函数的执行顺序
- java的静态代码块
- Java继承关系中静态代码块的顺序问题
- 关于java代码中静态代码块、非静态构造代码块以及构造方法的执行顺序
- 在继承中的问题,关于静态代码块,子类和父类的静态代码块的执行情况
- Java中构造函数、构造代码块、静态代码块等的执行顺序问题
- java静态代码块 构造代码块 构造方法的执行顺序及注意问题
- 关于在静态代码块的理解
- 静态代码块和构造代码块的相关问题
- java的代码块优先级 (静态代码块,构造代码块,普通代码块)
- Java中静态代码块、构造代码块的区别
- java 静态代码块
- JAVA 静态代码块
- Java静态代码块
- java静态代码块
- 关于多线程的学习心得
- Spring4.1新特性——异步调度和事件机制的异常处理
- 最大差值(美团校招真题)
- Mahout分步式程序开发 基于物品的协同过滤ItemCF
- poj1703 Find them, Catch them
- java关于静态代码块的问题
- 关于break和continue控制循环的流程
- JavaScript 中对变量和函数声明的“提前(hoist)”
- 优秀的博主博客归纳(长期更新)
- SparseArray(稀疏数组)
- UVA10714线段上的蚂蚁
- android项目结构目录
- 异常
- Mahout分步式程序开发 聚类Kmeans