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

原创 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中静态代码块、非静态代码块、构造函数的执行顺序与作用

一、观察一段源码与结果 public class StaticDemo { private static int i=1; static { System.out.println("static前代码...
  • lezizai_happy
  • lezizai_happy
  • 2015年07月16日 18:09
  • 1519

Java静态代码块、构造代码块、构造方法的执行顺序

Java静态代码块、构造代码块、构造方法的执行顺序静态代码优先于非静态的代码,是因为被static修饰的成员都是类成员,会随着JVM加载类的时候加载而执行,而没有被static修饰的成员也被称为实例成...
  • kingzone_2008
  • kingzone_2008
  • 2015年04月12日 22:55
  • 19412

Java子父类间静态代码块、构造代码块、构造方法的执行顺序

先看一段测试
  • u012248099
  • u012248099
  • 2014年07月05日 12:15
  • 1981

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

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

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

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

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

----------------------android培训、java培训、期待与您交流! ----------------------         对静态代码块以及构造函数的执行先后顺序,一直...
  • wangbaokangfei
  • wangbaokangfei
  • 2012年07月18日 14:13
  • 11259

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

public class Fu { static { System.out.print(1); } public Fu() { System.out.print(2); } } pub...
  • lc2470348636
  • lc2470348636
  • 2013年04月14日 16:21
  • 497

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

java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
  • zhangjq520
  • zhangjq520
  • 2017年04月14日 15:25
  • 437

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

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

父类子类中代码块和构造函数的执行顺序

java中有三种代码块:普通代码块、构造代码块、静态代码块。 普通代码块:出现在方法体中,执行顺序没有什么特别的。 public static void call(){ System.out.p...
  • guojing8808
  • guojing8808
  • 2013年09月13日 22:25
  • 536
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:构造函数,静态代码块,构造代码块的执行顺序。(不要只看结果,仔细看内容,分别执行程序)
举报原因:
原因补充:

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