构造函数,静态代码块,构造代码块的执行顺序。(不要只看结果,仔细看内容,分别执行程序)

原创 2015年11月20日 10:51:27
class StaticCode
    {
        // 构造函数 用于给【对象】进行初始化 创建对象时调用 给对应 的对象进行针对性的初始化
        StaticCode()
        {
            System.out.println("Constructed Block!");
        }

        // 构造代码块 创建几次对象就调用几次 如果不创建对象,则不会被调用。 可以给【所有对象】进行初始化
        {
            System.out.println("Space Block");
        }
        // 静态代码块:满足静态的一切特点,它随着类的加载而执行。 用于给【类】进行初始化 在调用过程中只执行一次。(运行①②看main函数输出)
        // 问:为何不直接初始化一个构造函数,要用静态代码块? 答:不是所有的类都能被创建对象。
        // Eg:如果该类中的方法都是静态方法,就不能进行对象创建。
        static
        {
            System.out.println("Static Block!");
        }

        void show()
        {
            System.out.println("Show() Block");
        }

        // (运行③看main函数输出)
        static void printOut()
        {
            System.out.println("Static Function Block");
        }

    }

    public class StaticBlockDemo
    {
        // 执行顺序(有对象):静态代码块>构造代码块>构造函数 (运行①看main函数输出)
        public static void main(String[] args)
        {
            new StaticCode().show();// ①
            // new StaticCode().show();// ②
            // StaticCode.printOut();// ③
        }
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数

Java初始化顺序 1在new B一个实例时首先要进行类的装载。(类只有在使用New调用创建的时候才会被java类装载器装入) 2,在装载类时,先装载父类A,再装载子类B 3,装载父类A后,完成静态动...

继承中,父类与子类都有静态代码块和构造函数的时执行顺序

当父类与子类都有静态代码块和构造函数的时候,执行顺序如下: 父类静态代码块 > 子类静态代码块 java虚拟机加载类时,就会执行该块代码。 父类构造函数 > 子类构造函数 (先有父亲,后有孩子) ...

关于Java中静态代码块以及构造函数的执行先后顺序

public class Fu { static { System.out.print(1); } public Fu() { System.out.print(2); } } pub...

java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序

java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序

静态代码块,非静态代码库,构造函数,子父继承代码执行顺序

静态代码块与静态方法的区别? 什么情况下使用 静态代码块:在项目启动的时候就需要执行的代码,这些代码是主动执行的; 静态方法:在项目启动的时候就初始化,在不创建对象的情况下,能够直接使用的,这种代码...

[java起步]构造函数、构造代码快、静态代码块的执行顺序

class StaticTry { int num; StaticTry(int x) { this.num = x; System.out.println("构造函数被执行----> ...

(非)静态代码块,构造函数,变量相关初始化顺序

public class Student { static{ System.out.println("this is static block "); } { S...

在继承条件下构造函数、代码块、静态代码块执行顺序

最近重新阅读了java中关于继承的章节,突发奇想父类子类代码中的构造函数,代码块和静态代码块是按照什么顺序执行的,于是就构造了一个小实验来验证下。 先定义了Father类: package o...

父类 子类 动态代码块 静态代码块 构造函数 执行顺序

执行顺序:对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器 第一种情形 父类和子类 都有动态代码块和静态快时 ...

java 静态代码块 代码块 构造函数执行顺序

问题1: public class A { /**  * 执行顺序以及原因: 1: 静态变量优先于静态代码块执行,原因:本类中定义了一个a=10,然后 我在static代码块中  * ...
  • AnQ17
  • AnQ17
  • 2016-03-24 15:33
  • 229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)