静态代码块、非静态代码块、构造方法执行顺序
来源:互联网 发布:苹果如何清理游戏数据 编辑:程序博客网 时间:2024/05/16 06:17
代码:
public class StaticTest4{ public static void main(String[] args) { Child c = new Child(); Child c1 = new Child(); }}class Parent{ static { System.out.println("static is Parent"); } public Parent() { System.out.println("constructor is Parent"); } { System.out.println("非静态代码块 is Parent"); }}class Child extends Parent{ static { System.out.println("static is Child"); } public Child() { System.out.println("constructor is Child"); } { System.out.println("非静态代码块 is Child"); }}
运行结果:
java StaticTest4static is Parentstatic is Child非静态代码块 is Parentconstructor is Parent非静态代码块 is Childconstructor is Child非静态代码块 is Parentconstructor is Parent非静态代码块 is Childconstructor is Child
说明:
静态代码块执行时机:当你从硬盘上把class文件加载到虚拟机上时,static代码块就已经开始执行了。所以只执行一次,因为加载一次就够了
非静态代码块执行时机:初始化实际上是会被提取到类的构造器中执行,但是会比类构造器中的代码也就是构造方法先执行。执行次数和构造方法一样。
构造方法执行时机:生成对象时才会执行。new几个对象就执行几次。
0 0
- 静态代码块、构造代码块、构造方法执行顺序
- 静态代码块,构造代码块,构造方法执行顺序
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- 父类子类构造方法、静态代码块、非静态代码块的执行顺序
- 静态代码块,非静态代码块,构造函数,普通方法执行顺序
- 静态代码块、非静态代码块、构造方法执行顺序
- Java中静态代码块、非静态代码块、构造方法三者的执行顺序
- 静态代码块、非静态代码块、构造方法的执行顺序
- 静态代码块,代码块,构造方法执行顺序
- 静态代码块、代码块、构造方法的执行顺序
- Java中关于静态代码块,非静态代码块,构造方法,静态方法,一般方法执行顺序
- 关于java代码中静态代码块、非静态构造代码块以及构造方法的执行顺序
- 静态代码块,静态方法,构造方法的执行顺序
- 静态代码块、构造代码块、局部代码块、构造方法的执行顺序
- java 静态代码块,构造代码块,构造方法,普通代码块的执行顺序
- java中父类的静态代码块,非静态代码块,构造方法,子类的静态代码块,构造方法等先后执行顺序
- java 静态块 非静态块 构造方法 执行顺序
- 静态代码块、非静态代码块、构造函数的执行顺序
- shiro教程(4)-shiro与项目集成开发
- android WebView上传文件到服务器[android+server代码]
- Image Pre-compensation: Balancing Contrast and Ringing
- C++中cin.clear()的用法
- LinearLayout的showDividers在小米上不管用的解决办法
- 静态代码块、非静态代码块、构造方法执行顺序
- Java学习----day7——(3)匿名内部类
- Js读取check的几种方法
- 历届试题 最大子阵
- iOS 在Unit Testing 里面使用第三方库
- 【Eigen】How to "install" Eigen?
- BestCoder Round #93酱油记
- 389. Find the Difference Add to List(新添字符)
- 在NotePad++中直接运行TCL