黑马程序员技术交流社区

标题: String类是不能被继承的 [打印本页]

作者: 于连林    时间: 2012-10-25 23:16
标题: String类是不能被继承的
今天发现String 是用final修饰的,不能被继承的
作者: 奋斗的青春    时间: 2012-10-26 00:20
呵呵 ,是呀 !因为Sting是这样定义的:public final class String extends Object,里边有final关键字,所以不能被继承。class A{public void m(){}} class B extends A{ public void m(){}},如上面的例子在子类中再父类中的方法,就是重写。
作者: 崔政    时间: 2012-10-26 14:26
String是final类型的,意味着其类不能被继承,方法不能被重写,这样才能更通用!
String是作为基本数据类型设计的,就像int什么的一样,所以不能继承
而且是传值的而不是传引用
如果可以继承,在处理传值传引用问题和副本构造等问题的时候就会造成不必要的麻烦。
比方String是传值的,你构造了一个类,是String的子类,按道理用户自定义类都是传引用的,但是你的父类确是传值,矛盾
作者: 黑马-zhangping    时间: 2012-10-26 15:11
对,你说的很对,String类不能被继承,原因就在于String这个类型前有final修饰,根据final的性质:final修饰的类不能被继承,所以导致了String类不能被继承




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2