首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java基础之final关键字

我是个没得感情的更新机器

final 一个Java语言的关键字。你只能定义一个实体一次,以后不能改变它或继承它。

具体来说:

一个final修饰的类不能被子类化,即这个类是我这里用的,而且我不希望这个类被继承,java中最著名的例子就是String类了。

一个final修饰的方法不能被重写,继承了该类后,不能重写该方法。

一个final修饰的变量或者参数,若参数为基本类型,该参数不能在方法中修改其值。若参数为对象应用,该参数在方法中不能修改其指向引用,但是具体内容是可以修改的

无论在什么情况下,编译器都会去确保final变量在使用前必须被初始化。若不进行初始化,会提示错误。

final还可以用作形参,表示这个参数不允许改变,但是这个实际意义不大,因为java方法中是值传递,都是拷贝一份而不改变原来的值。

而为了确保final的初始化已被执行,确保读取的final是已经在对象中被初始化过,jvm底层会使用内存屏障来保障。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200112A04BUV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券