美文网首页java基础
java代码的执行顺序

java代码的执行顺序

作者: java面试收割机 | 来源:发表于2017-10-10 10:04 被阅读5次

java 静态代码块 静态方法区别

静态代码块是主动执行的,在项目启动的时候就初始化, 静态方法在类加载的时候 就已经加载 可以用类名直接调用,两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.

代码执行顺序

class Parent {
    {
        System.out.println("parent block");//3
    }
    static {
         System.out.println("parent static block");//1
    }

    public Parent() {
        System.out.println("parent constructor");//4
    }
}

class Child extends Parent {
    {
        System.out.println("child block");//5
    }
    static {
        System.out.println("child static block");//2
    }

    public Child() {
      System.out.println("child constructor");//6
    }
}

public class Test{
    public static void main(String[] args) {
    new Child();
    }
}

输出结果:
parent static block
child static block
parent block
parent constructor
child block
child constructor
对象的初始化顺序:
执行父类静态的内容
执行子类的静态的内容
父类非静态代码块,接着执行父类的构造方法。
子类非静态代码块,接着执行子类的构造方法。
总之一句话,静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法

相关文章

  • java程序执行顺序

    Java 类中代码的执行顺序深入了解Java程序执行顺序 单个类: static变量—>Static代码块—> m...

  • Java代码执行顺序

    AVA是一门面向对象的编程语言,这里考虑“类”里面在程序开始执行时的执行顺序。先看一个实例: 执行结果: 说明:一...

  • Java代码执行顺序

    java中子类继承父类程序执行顺序问题 Java中,new一个类的对象,类里面的静态代码块、非静态代码、无参构造方...

  • java代码执行顺序

    执行顺序

  • java代码执行顺序

    java中首先是静态块先执行,然后非静态代码块,最后是构造函数 执行结果 父类--静态代码块子类--静态代码块父类...

  • 重排序 VS 可见性 VS 原子性

    重排序 代码实际执行顺序和代码在 Java 文件中的顺序不一致,代码指令并不是严格按照代码语句顺序执行的,这就是重...

  • 前程科技:JavaSE系列课程之Java程序结构

    Java程序结构 1、顺序结构 按照代码编写顺序,自上而下、逐行执行 2、选择结构 有条件的执行代码,所写的代码在...

  • Java的代码执行顺序

    我发表了一篇新博文:Java的代码执行顺序我的博客地址:不如怀念

  • java代码的执行顺序

    java 静态代码块 静态方法区别 静态代码块是主动执行的,在项目启动的时候就初始化, 静态方法在类加载的时候 就...

  • java代码的执行顺序

    若类还未被加载 先执行父类的静态代码块和静态变量初始化,并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关...

网友评论

    本文标题:java代码的执行顺序

    本文链接:https://www.haomeiwen.com/subject/pexvyxtx.html