Java中static关键字及static{}的使用

    技术2026-03-29  14

    static关键字的使用:

    1、static翻译为“静态”;

    2、所有static关键字修饰的都是类相关的,类级别的;

    3、所有static修饰的,都是采用“类名.”的方式访问。(虽然使用“引用.静态变量”不会报错,但不建议使用)

    4、变量根据声明的位置进行划分: 在方法体当中声明的变量叫做:局部变量; 在方法外面声明的变量叫做:成员变量。 成员变量又可以分为:实例变量,静态变量。

    5、变量存储位置: 局部变量存储在:栈 实例变量存储在:堆 静态变量存储在:方法区


    6、 空指针异常情况: 实例成员:需要实例化使用,需要对象的参与,可能出现空指针异常; 静态成员:不需要对象参与,所有对象共用类中的静态成员。 静态变量在类加载时就已经初始化,不会出现空指针异常。


    7、静态代码块: 语法:

    static { //java语句; }

    (1)静态代码块在什么时候执行? 类加载时执行,并且只执行一次,且在main方法之前执行。一个类中可以有多个静态代码块,执行顺序自上而下。一个静态代码块只能访问改静态代码块之前的静态变量。

    (2)静态代码块不是很常用,就是类加载时给编程的一个利用时机,看程序员要不要用这个时机做点什么事情。


    8、实例语句块:

    除了静态代码块之外,还有一种语句块叫做:实例语句块。 顾名思义,就是在实例化对象时执行,并不是在类加载时执行。 实例语句块的具体执行时间是在实例化时构造方法之前执行的。

    语法:

    { //java语句; }

    给道题目练习一下static{}的执行顺序,例题:

    答案输出顺序为:A X Y C B Z

    Processed: 0.016, SQL: 9