static c++/java 静态的 所有的类共用
final java 常量的 定义就初始化 初始化后不可改变
const c++ 常量的
参考https://www.cnblogs.com/dolphin0520/p/3736238.html
【final】
1.基础
修饰 变量
修饰普通变量 : 常量,定义时赋值,不可改变
修饰引用变量:引用关系不可改变
修饰类成员变量:在定义时或者构造器中进行初始化赋值
修饰 类
不能被继承,所有方法都是final
修饰类 成员方法
不能被子类覆盖
内嵌
2. final 扩展知识:
总结:
1.final修饰的变量都是 编译器常量吗 —— 不是
2.编译器和处理器 为了优化性能会对 指令进行重排 , final 也有指令重排
3.多线程 final安全吗 —— 安全,读写final变量的时候 编译器优化指令重排 会加锁
匿名内部类中使用的外部局部变量为什么只能是final变量
https://www.pdai.tech/md/java/thread/java-thread-x-key-final.html#final%E5%9F%9F%E9%87%8D%E6%8E%92%E5%BA%8F%E8%A7%84%E5%88%99
处理器和编译为了性能优化会对指令序列有编译器和处理器重排序