静态代码块

Posted wurengen

tags:

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

静态代码块

  • 静态代码块:定义在成员位置,使用static修饰的代码块 。
  • 位置:类中方法外。
  • 执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
  • 格式:

技术图片技术图片?

  • 作用:给类变量进行初始化赋值。

代码举例

定义Person类

package demo03;


public class Person 

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

    public Person() 
        System.out.println("构造方法执行!");
    

使用Person类

package demo03;


/*
静态代码块的格式是:

public class 类名称 
    static 
        // 静态代码块的内容
    


特点:当第一次用到本类时,静态代码块执行唯一的一次。
静态内容总是优先于非静态,所以静态代码块比构造方法先执行。

 */
public class Demo04Static 

    public static void main(String[] args) 
        Person one = new Person();
        Person two = new Person();
    

静态代码块的典型用途:用来一次性地对静态成员变量进行赋值。

代码举例

package demo02;

import java.util.ArrayList;

public class Demo02Static 
    public static int number;
    public static ArrayList<String> list;

    static 
        // 给类变量赋值
        number = 2;
        list = new ArrayList<String>();
        // 添加元素到集合中
        list.add("张三");
        list.add("李四");
    

 

以上是关于静态代码块的主要内容,如果未能解决你的问题,请参考以下文章

静态方法内的同步块将获取类级别锁或对象级别锁

java代码块,静态代码块,静态变量,构造方法执行顺序

构造函数,静态代码块,构造代码块

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

Java非静态代码块和静态代码块

两个案例,解读静态代码块和构造代码块