JAVA构造器的加载顺序
来源:互联网 发布:手机淘宝怎么看淘金币 编辑:程序博客网 时间:2024/06/06 13:04
JAVA静态代码块和构造器加载顺序
本文主要研究JAVA代码块的加载顺序:
新建如下代码,父类为Animal,子类为Dog,主类为Test,在其中实例化两次Dog对象:
public class Test { /** * @param Jovi */ public static void main(String[] args) { Dog dog = new Dog(); dog = new Dog(); }}class Animal{ static{ System.out.println("eat"); } Animal(){ System.out.println("drink"); }}class Dog extends Animal{ static{ System.out.println("bark"); } Dog(){ System.out.println("run"); }}
实际运行结果如下:
可以看到,第一次实例化首先运行的是Dog父类Animal的静态代码块,打印了eat,然后运行的是子类的静态代码库,打印了bark,接着运行父类的构造方法,打印drink,最后运行子类的构造方法,打印run。在第二次实例化的过程中,父类和子类的静态代码块都没有运行。通过以上实验,我们可以得出以下结论:
1、JAVA中的静态代码块只再第一次实例化的时候才运行一次。
2、创建对象时构造器的调用顺序是:先初始化静态成员(先父类后子类),然后调用父类构造方法(先父类后子类),后续会初始化非静态成员,最后调用自身构造方法。
阅读全文
0 0
- JAVA构造器的加载顺序
- java继承各个类构造器加载的顺序
- 类加载时候的构造器加载顺序
- java类加载器的加载顺序
- Java继承之间类的加载顺序, 以及代码块、构造块的执行顺序
- java 构造器的初始化顺序
- java构造器的调用顺序
- java 构造器的调用顺序
- Java中构造器的调用顺序
- java构造器的调用顺序
- java构造器的执行顺序
- java构造器的调用顺序
- Java构造器的调用顺序
- java 中构造器的调用顺序
- java构造器的调用顺序
- java构造器的调用顺序
- JAVA中静态代码块,构造代码块,构造函数的加载顺序
- java类构造对象的构造顺序
- 欢迎使用CSDN-markdown编辑器
- 3秒钟不懂你砍我:接口回调
- NumPy统计函数
- 函数被声明为已否决
- Gradle for Android(三)——依赖管理(一)
- JAVA构造器的加载顺序
- unix时间转化成普通时间
- 凯撒密码
- 【数据库--mongodb】3.MongoDB基本操作(总结)
- jQuery2.0.3源码分析
- oracle 系统操作语句(持续更新中...)
- PAT---1008数组元素循环右移问题
- 04_RxJava 组合操作符示例
- eclipse maven install 没反应