您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页String类为什么是final的

String类为什么是final的

来源:化拓教育网
String类为什么是final的

1 主要是为了“效率” 和 “安全性” 的缘故。若 String允许被继承, 由于它的⾼度被使⽤率, 可能会降低程序的性能,所以String被定义成final。

2、不允许其他类继承。这个应该不是最终原因,但这⾥权且也当成是⼀个原因。

3、 String类中的成员属性也⼏乎都设计成了private final的,这样String就被设计成⼀个不变类,这样有助于共享,提⾼性能。可以将字符串对象保存在字符串常量池中以供与字⾯值相同字符串对象共 享。如果String对象是可变的,那就不能这样共享,因为⼀旦对某⼀个String类型变量引⽤的对象值改变,将同时改变⼀起共享字符串对象的其他 String类型变量所引⽤的对象的值。

4、String被设计为不变类,其中的offset,value[]都被设计成private final的,这样在多线程时,对String对象的访问是可以保证安全的。java程序语⾔的许多特性依赖于不可变的String对象。

其他 包括Integer Long Character 被设计成final的原因类似

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务