Java static、final、static final 以及final static区别
一、相同点
- 都是Java修饰符
二、不同点
- final
final修饰 类:表示该类不能被继承;
final修饰 方法:表示该方法不能被重写;
final修饰 方法参数:表示在变量的编译期中它的值不能被改变;
final修饰 变量:包括成员变量和局部变量,该变量只能被赋值一次且它的值无法被改变。对于成员变量来讲,我们必须在声明时或者构造方法中对它赋值; - static
static修饰 成员变量:将其变为类成员,从而实现所有对象对于该成员的共享;
static修饰 成员方法:将其变为类方法,可以直接使用“类名.方法名"的方式调用,常用于工具类;
static修饰 静态代码块:将多个类成员放在一起初始化,用来优化程序性能,它只会在类加载的时候执行一次。 - static final 与 final static
static final 或 final static修饰 变量:表示一旦给值就不可修改,可以通过类名可以直接访问;
static final 或 final static修饰 方法:表示不可覆盖,可以通过类名直接访问。
无论是static final 还是 final static来修饰变量、方法,都是一样的作用,都是在内存中存储一段数据。不管怎么写不报错,根据个人习惯来用。推荐static final。
本文来自博客园,作者:手可敲星辰脚驾七彩云,转载请注明原文链接:https://www.cnblogs.com/arek/p/17406447.html,谢谢!