java String为什么不可继承

发布网友

我来回答

5个回答

热心网友

String是final类型的,意味着其类不能被继承,方法不能被重写,这样才能更通用!如果设计成可继承,那么继承的子类就可以新增无数个自定义变量或方法,会造成很多不必要的麻烦,也可能造成代码的冗余!谢谢!有不对的地方,还请各位高手多多指教了。。。

热心网友

String是作为基本数据类型设计的,就像int什么的一样,所以不能继承
而且是传值的而不是传引用
如果可以继承,在处理传值传引用问题和副本构造等问题的时候就会造成不必要的麻烦。
比方String是传值的,你构造了一个类,是String的子类,按道理用户自定义类都是传引用的,但是你的父类确是传值,矛盾

热心网友

请看Sting是这样定义的:
public final class String extends Object,里边有final关键字,所以不能被继承。

热心网友

因为他是final的,所以不可继承,这个解释虽然简单,不过事实就是如此

热心网友

LZ可以看一下javaeye上的人对这个问题的理解

参考资料:http://www.javaeye.com/problems/13069

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com