String类为什么是fina的?

String类为什么是fina的?

final类不能被继承,因此方法不能被重写覆盖!String类用final修饰是为了保证类中的方法不被重写改变

因为不让改变啊,设置为final不可改变、如果有一个String的引用,它引用的一定是一个String对象,而不可能是其他类的对象。
String 一旦被创建是不能被修改的不允许任何人定义String的子类,可以供其他类共享使用,也更安全,
设计成final,JVM才不用对相关方法在虚函数表中查询,而直接定位到String类的相关方法上,提高了执行效率。

你去问作者,为毛要弄成这个样子

设计成final,JVM才不用对相关方法在虚函数表中查询,而直接定位到String类的相关方法上,提高了执行效率。

这个在面试时会问到
StringBuffer和String的区别,
重点就是String被定义为final长度不可变