• 售前

  • 售后

热门帖子
入门百科

Final关键字

[复制链接]
天一教育培训寐 显示全部楼层 发表于 2022-1-16 09:37:31 |阅读模式 打印 上一主题 下一主题
文章目次



final 关键字

修饰变量

修饰变量时,只要记得变量本身不可再被修改即可,无论是根本范例变量照旧引用范例变量,这是本质
差别的是 根本范例变量本身就是变量本身的值。比方 int a=1; 变量a的值就是int值1;引用范例变量的值,是对象在堆上分配的所在值(雷同于C中的指针,计组中的间接寻址。

因此有对于一个final变量,如果是根本数据范例的变量,则其数值一旦在初始化之后便不能更改;如果是引用范例的变量,则在对其初始化之后便不能再让其指向另一个对象。
通过下面的实验分析

注意到String范例的string和int范例的num都再次无法改变,num固然是无法改变,但string不是应该可以改变吗,实在这是由于String的内部是一个 private final byte[] value;的数组,再次给string赋值就是给value再赋值因此会报错,详细可以去检察String的源码。
下面我们解释报错的两行


可以看出StringBuilder str可以被“再次赋值”。实际上str的值没有变,依然是原来的所在,厘革的是所在中的内容
修饰类

1 该类不能在被继承
2 内部方法默以为final 方法
3 成员变量可以设置是否为final
修饰方法

不能再被重写,通常修饰一种完全成熟的方法

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作