final关键字

final关键字

final关键字修饰的类不能被继承、修饰的方法不能被重写但可以重载多个final修饰的方法、修饰的变量不可变。final修饰的类中所有成员方法都会被隐式地指定为final方法,重写的前提是子类可以从父类中继承此方法。final修饰一个成员变量必须初始化,final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化,如果final修饰的是一个引用类型,初始化后这个引用变量所引用的地址不会改变即一直引用同一个对象,但这个对象值可以发生改变。

​
public final class String
    implements java.io.Serializable, Comparable<string>, CharSequence{
    /** The value is used for character storage. */
    private final char value[];

    /** Cache the hash code for the string */
    private int hash; // Default to 0
}

​

value指向的是一个字符串数组,字符串中的字符就是用这个value变量存储起来的,value赋予初始值之后,value指向的地址就不能再改变了。虽然value指向的数组是可以改变的,但是String没有提供相应的方法修改数组的元素。在StringBuilder中提供了响应的方法修改value指向数组的元素,这也是StringBuilder的字符串序列可变的原因。 

String类是由final关键字修饰的,所以具有不可变性。字符串s="abcd",赋值成"abcedl*,不是在原内存地址上修改数

相关推荐

  1. final关键字

    2024-05-14 00:00:10       11 阅读
  2. final关键字

    2024-05-14 00:00:10       9 阅读
  3. 关键字:final最终的

    2024-05-14 00:00:10       39 阅读
  4. final

    2024-05-14 00:00:10       26 阅读
  5. finalfinallyfinalize区别

    2024-05-14 00:00:10       28 阅读
  6. final, finally, finalize的区别

    2024-05-14 00:00:10       29 阅读
  7. C#面:final ,finallyfinalize 的区别

    2024-05-14 00:00:10       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 00:00:10       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 00:00:10       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 00:00:10       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 00:00:10       20 阅读

热门阅读

  1. 指针(4)有点难

    2024-05-14 00:00:10       9 阅读
  2. 高精度模拟算法

    2024-05-14 00:00:10       10 阅读
  3. Oracle中long和clob的区别和例子

    2024-05-14 00:00:10       9 阅读
  4. Redis——RDB、AOF和混合持久化机制

    2024-05-14 00:00:10       13 阅读
  5. @Validated校验多层json

    2024-05-14 00:00:10       13 阅读
  6. centos7下vim命令笔记-查找字符

    2024-05-14 00:00:10       12 阅读
  7. 【C++】防止头文件被重复包含

    2024-05-14 00:00:10       14 阅读
  8. Cocos Creator 3.8.x报错:5302

    2024-05-14 00:00:10       12 阅读