Java static、final、static final 以及final static区别

一、相同点

  • 都是Java修饰符

二、不同点

  1. final
    final修饰 类:表示该类不能被继承;
    final修饰 方法:表示该方法不能被重写;
    final修饰 方法参数:表示在变量的编译期中它的值不能被改变;
    final修饰 变量:包括成员变量和局部变量,该变量只能被赋值一次且它的值无法被改变。对于成员变量来讲,我们必须在声明时或者构造方法中对它赋值;
  2. static
    static修饰 成员变量:将其变为类成员,从而实现所有对象对于该成员的共享;
    static修饰 成员方法:将其变为类方法,可以直接使用“类名.方法名"的方式调用,常用于工具类;
    static修饰 静态代码块:将多个类成员放在一起初始化,用来优化程序性能,它只会在类加载的时候执行一次。
  3. static final 与 final static
    static final 或 final static修饰 变量:表示一旦给值就不可修改,可以通过类名可以直接访问;
    static final 或 final static修饰 方法:表示不可覆盖,可以通过类名直接访问。

无论是static final 还是 final static来修饰变量、方法,都是一样的作用,都是在内存中存储一段数据。不管怎么写不报错,根据个人习惯来用。推荐static final。

posted @ 2023-05-16 18:11  手可敲星辰脚驾七彩云  阅读(314)  评论(0编辑  收藏  举报