static关键字

2020-08-07  本文已影响0人  Epimenides

static修饰变量相关概念

  1. static翻译为"静态"
  2. 所有static关键字修饰的都是类相关的,类级别的。
  3. 所有static修饰的,都是采用"类名."的方式访问。
  4. static修饰的变量:静态变量
  5. static修饰的方法:静态方法

变量的分类:

static静态代码块相关:

  1. 什么是静态代码块,语法是什么?
static{
    java语句;
    java语句;
}
  1. static静态代码块在什么时候执行呢?

    • 类加载时执行。并且只执行一次。
    • 静态代码块有这样的特点/特征。
  2. 注意:静态代码在类加载时执行,并且在main方法执行之前执行。

  3. 静态代码块一般是按照自上而下的顺序执行。

  4. 静态代码块有什么作用?

    • 静态代码块不常用 (不是每一个类中都要写的东西)。

    • 静态代码块这种语法机制实际上是SUN公司给我们java程序员的一个特殊的时刻/时机。

      这个时机叫做类加载的时机

    具体的业务:

    ​ 项目经理说了:所有我们编写的程序中,只要是类加载了,请记录一下类加载的日志信息(在哪年哪月那日几时积分几秒,哪个类加载到JVM当中了)。

静态代码块的执行顺序

public class StaticTest{
    // 静态变量在什么时候初始化?类加载时初始化
    // 静态变量存储在哪里?方法区
    static int i = 100;
    
    // 静态代码块什么时候执行?类加载的时候执行。
    // 只要是静态的就可以放在方法区中
    static {
        // 这里可以访问i吗?
        System.out.println("i = " + i);
    }
    
    // 入口(main方法执行前实际上执行了很多代码)
    public static void main(String[] args){
        System.out.println("main begin!");
    }
}
上一篇下一篇

猜你喜欢

热点阅读