Java静态代码块与非静态代码块

  • 静态代码块,格式是 static{ }随着类的加载而加载,且只执行一次。 在程序中,执行的优先级最高。

  • 非静态代码块,格式是{ }在创建对象的时候运行(即new一个对象的时候),每创建一次对象就执行一次。

示例代码

package demoTest;

public class Order {
    public static void main(String[] args) {
        Order order1 = new Order();
        {
            System.out.println("不是");
        }
        System.out.println("狗");
        Order order2 = new Order();
    }

    /**
     * 静态代码块
     * 随类的加载而加载,且只执行一次;
     */

    static{
        System.out.println("猫");
    }


    /**
     * 非静态代码块
     * 在创建对象的时候(即new一个对象的时候)执行,每次创建对象都会执行一次
     */

    {
        System.out.println("熊");
    }
}

打印结果

猫
熊
不是
狗
熊

原文地址:https://www.cnblogs.com/anycall/p/10642634.html