zoukankan      html  css  js  c++  java
  • Java 类中代码块和构造方法的执行顺序

    Java 类中代码块分为普通代码块、静态代码块和构造代码块:

    普通代码块:类中的普通方法,只有被调用才执行。

    静态代码块:用 staitc 声明,JVM 加载类时执行,仅执行一次。

    构造代码块:类中直接用 {} 定义,每一次创建对象时执行。

    下面我就用一段代码来演示:

    public class TestClass {
        static {
            System.out.println("静态代码块");
        }
        {
            System.out.println("构造代码块");
        }
    
        public TestClass() {
            System.out.println("构造函数");
        }
    
        public void sayHello() {
            System.out.println("普通代码块");
        }
    
        public static void main(String[] args) {
    
            System.out.println("执行 main 方法");
    
            new TestClass().sayHello();
    
            System.out.println("---------------");
    
            new TestClass().sayHello();
        }
    }

    运行代码,可以看到如下执行结果:

    静态代码块
    执行 main 方法
    构造代码块
    构造函数
    普通代码块
    ---------------
    构造代码块
    构造函数
    普通代码块

    所以普通代码块、静态代码块、构造代码块和构造方法执行顺序优先级:静态块 -> main() -> 构造块 -> 构造方法。

  • 相关阅读:
    P1939 矩阵加速(数列)
    P3390 矩阵快速幂
    快速幂
    1236:区间合并
    1183:病人排队
    1230:寻找平面上的极大点
    1244:和为给定数
    1228 书架
    1222 放苹果
    洛谷5015标题统计
  • 原文地址:https://www.cnblogs.com/weisenz/p/2428583.html
Copyright © 2011-2022 走看看