相关疑难解决方法(0)

Java final修饰符

有人告诉我,我误解了final.的影响.final关键字有什么影响?

以下简要概述了我的想法,我知道:

Java final修饰符(又称聚合关系)

原始变量:只能设置一次.(内存和性能增益)
对象变量:可以修改,最终适用于对象引用.
字段:只能设置一次.
方法:不能被覆盖,隐藏.
课程:不能扩展.
垃圾收集:将强制Java世代垃圾收集标记扫描双扫.

Can's和Cant's

  • 可以使克隆失败(这既好又坏)
  • 可以使不可变的原语aka const
  • 可以使空白不可变 - 在创建时初始化也称为readonly
  • 可以使对象浅不可变
  • 可以使范围/可见性不可变
  • 可以使方法调用开销更小(因为它不需要虚拟表)
  • 可以使方法参数用作final(即使你不是)
  • 可以使对象线程安全(如果对象被定义为final,它不会使方法参数最终)
  • 可以进行模拟测试(不是你可以对它做任何事情 - 你可以说错误是有意的)
  • 不能交朋友(与其他朋友互相变化,休息不变)
  • 以后不能将变为不可变的变量(但可以像工厂模式一样修复)
  • 无法使数组元素成为不可变的,也是不可变的
  • 无法创建对象的新实例(这既好又坏)
  • 无法进行序列化工作

没有替代品final,但有包装+私人和枚举.

java final

54
推荐指数
1
解决办法
3万
查看次数

标签 统计

final ×1

java ×1