10月面试题-1

来源:5-1 常量

何艾莉

2022-10-26 15:32:05

老师好,今天面试中问到String类型为什么设计成为不可继承的?
请回答一下~

写回答

1回答

好帮手慕小蓝

2022-10-26

同学你好,老师这里也没有准确的答案,只能提供一些参考:

String类作为Java中最基础的引用类型,也是最常用的引用类型。所以Java在设计之初就考虑到了其性能和安全性,即既要运行效率高,也要线程安全。所以在设计的时候,使用了常量池等技术。

如果String类可以被继承,那么几乎所有类都可以通过继承String类来获得上述的特性,那么就相当于所有类,包括String自身,并没有获得任何提升。

所以在设计之初,就将String设计为不可继承的了。

这就像是现实生活中,高速公路上的应急车道,这条车道的用意是使一些应急车辆可以以最高效的方式行驶。如果任何车辆都可以算作应急车辆的话,那么这条车道就没有任何提高效率的意义了,所以并不是所有车辆,都可以算作应急车辆。

同理,Java类也是如此,只有String这样的特殊类,才拥有这样的特性,其他类是不可以有的。

祝学习愉快~

0

0 学习 · 9886 问题

查看课程

相似问题

乱码问题

回答 1

回答 1

回答 1