静态代码块-构造方法等执行顺序

jvm在为一个类构造对象时:

1、首先执行静态代码,如果多个静态代码,顺序执行

2、然后执行普通代码

3、然后执行构造方法

只要类再被jvm加载时,静态代码块就会执行

例如 order.什么

原文地址:https://www.cnblogs.com/zhy-study/p/9243610.html

时间: 2024-10-11 05:54:20

静态代码块-构造方法等执行顺序的相关文章

Java中动态代码块,构造代码块,静态代码块之间的执行顺序

Java中动态代码块,构造代码块,静态代码块之间的执行顺序 /** * Java中动态代码块,构造代码块,静态代码块之间的执行顺序 * @author Administrator * */ class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println("I'm A class"); } static { System.out.println("st

Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例

Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例 2018年05月08日 08:12:48 WJN不忘初心 阅读数:34 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静态方法,静态变量等,都放在一起的话,这个执行顺序,怎么确定. 我就实际弄个代码,看下执行顺序. [java] view plain copy public class Line { static { System.out.println("静态代码块执行:loading line"); }

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

关于静态代码块 静态代码块的写法: static { System.out.println("我是静态代码块"); } 静态代码块的特点: 1.执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员. 2.随着类的加载而执行,而且只执行一次 先说一下类加载,一个程序要想运行,首先要把代码加载到内存中,然后才能去和CPU交流,这是冯诺依曼计算机规定的.Java也是一样,Java的.class字节码文件要想执行,首先也

代码逻辑题之继承-静态代码块-main方法执行顺序

前提知识: (暂未发布)面向对象继承相关知识 (暂未发布)static与静态代码块 JVM入门之main方式详解 (暂未发布)JVM加载类的顺序 public class ParentMainTest { static int x; static { x++; System.out.println("ParentMainTest_static..." + x); } public static void main(String[] args) { new SonMainTest(6);

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

public class Husband extends Persona{ /**第二执行 public Husband() { super("One"); System.out.println("Two"); }} public class Wife extends Persona { /**第三执行 public Wife(){ super("Four"); } /**第四执行 public Wife(String name) { super

面试趣闻之java 代码块 静态代码块 构造方法 执行顺序

初级程序员总会遇到这样的问题,代码块 静态代码块 构造方法 执行顺序 父类 public class ClassSup { public ClassSup(){ System.out.println("父类构造器"); } static { System.out.println("父类静态代码块"); } { System.out.println("父类代码块"); } public void mathod01(){ System.out.pri

java中成员变量、代码块、构造函数执行顺序

1.java虚拟机运行程序,首先需要装载类,安装现装载父类,初始化父类的静态代码块和静态成员变量 再load子类.初始化子类静态代码块和成员变量 2.load完毕父类与子类后,从main函数入口执行程序,先输出,接着new实例化Beetle类,则先实例化父类Insect,实例化父类时,先初始化非静态成员变量和非静态代码块,接着执行父类构造方法 再实例化子类,实例化子类时,先初始化非静态成员变量和非静态代码块,接着执行子类构造方法. package it.xiangnan.test; public

Java静态代码块、代码块及构造函数执行顺序

根据以下程序进行分析 定义一个父类 package sas.LearnJava; public class ExcuteOrderTest { { System.out.println("我是在父类开始的普通代码块!"); } public ExcuteOrderTest() { System.out.println("我是父类的无参构造函数!"); } public void showSomething() { System.out.println("我

静态代码块和构造函数的顺序

最近犯了一个严重的错误,就是静态代码块和构造函数的执行顺序问题,静态代码块是在构造函数之前执行的 public class A { static { System.out.println("static A"); } public A(){ System.out.println("构造 A"); } } public class B extends A { static { System.out.println("static B"); } pu