Java 重学系列之匿名代码块和静态代码块区别

Posted amcomputer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 重学系列之匿名代码块和静态代码块区别相关的知识,希望对你有一定的参考价值。

匿名代码块和静态代码块区别是什么?

直接看代码实例:

package com.yang.oop;

public class Demo07 
    
        System.out.println("匿名代码块开始执行!");
    

    static 
        System.out.println("static静态代码块开始执行!");

    
    public static void main(String[] args) 

        System.out.println("main方法开始执行!");
        Demo07 demo07 = new Demo07();
        System.out.println("===========main方法开始执行!");
        Demo07 demo08 = new Demo07();
    


输出结果为:

可以看到,匿名代码块在类每次生成的时候,都会被执行。
而静态代码块,只被执行一次。且执行顺序的优先级最高,因为JVM先把静态代码块里面内容加载了。

可以在写一个构造方法,看看静态代码块和构造方法的执行顺序:

package com.yang.oop;

public class Demo07 
    
        System.out.println("匿名代码块开始执行!");
    
    static 
        System.out.println("static静态代码块开始执行!");

    
    Demo07()
        System.out.println("构造方法开始执行!");
    
    public static void main(String[] args) 

        System.out.println("main方法开始执行!");
        Demo07 demo07 = new Demo07();
        System.out.println("===========main方法开始执行!");
        Demo07 demo08 = new Demo07();
    


输出结果:

可以看到,静态代码块的优先级是最高的。

以上是关于Java 重学系列之匿名代码块和静态代码块区别的主要内容,如果未能解决你的问题,请参考以下文章

java-普通代码块构造代码块和静态代码块的区别。

第三节:Java类和对象之代码块和内部类

Java 核心基础之static静态代码块和静态方法

(转) Java 静态代码块和非静态代码块

Java之静态代码块和静态类静态导入

Java中普通代码块,构造代码块,静态代码块区别及代码示例