【java】关于final关键字的作用

final关键字的作用域

  1. 修饰类
  2. 修饰方法
  3. 修饰引用

1.当作用在类上时
代表这个类不可以被继承,可以说是绝后。
2.当作用在方法上时
代表这个方法不可以被重写,但是仍旧可以被继承。
3.当修饰引用时

  • 如果修饰的是基本数据类型,代表是常量,不可更改。
  • 如果修饰的是类的对象,则表明该引用不可更改,但是引用所指向的对象可以被更改。
  • 如果是final类的成员变量,则必须立刻赋值

举个例子

例如String类是被final修饰的,并且它的内部实现,即字符数组也是被final修饰的。

所以String是不可继承的,它的内部字符数组(实际上是一个对象)是被fianl引用的,这个引用是不可以改变的

String不可变特性的核心在于,你见到的每个构建的字符串,都是一个新new的字符串对象。实际上在你创建一个新的字符串的时候,它会去存储字符串的常量区找这个字符串,假如存在就引用它,不存在的话,就新建一个实例。

发布了243 篇原创文章 · 获赞 106 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43889841/article/details/104316879