黑马程序员技术交流社区

标题: 继承问题 [打印本页]

作者: mzh901024    时间: 2013-8-20 18:46
标题: 继承问题
今天String类为什么不能被继承?
作者: 咖喱猫    时间: 2013-8-20 18:53
今天?能更详细点么
作者: wlt    时间: 2013-8-20 19:01
String 是final 修饰的类   所以不能被继承。。。。
作者: 许庭洲    时间: 2013-8-20 19:32
String类是sealed类(密封类)所以不可以继承。
作者: 左岸    时间: 2013-8-21 13:12
因为Sting是这样定义的:public final class String extends Object,里边有final关键字,所以不能被继承。class A
{
public void m()
{
}
}
class B extends A
{
public void m()
{
}
}
,如上面的例子在子类中再父类中的方法,就是重写。
作者: 瞎猫馒头米田共    时间: 2013-8-22 02:28
.net 对string类作了太多的优化,说白点就是开了很多绿灯,所以不惜望别的类继承它,这样就无形中耗资源了,所以对string类sealed修饰,成了一个密封类,(这里反编译看IL 代码就能看到了)这样别的类就不能继承他了。
作者: xinchenglong    时间: 2013-8-24 20:39
String类是final类故不可以继承。

一切由final修饰过的都不能继承

作者: 相许。    时间: 2013-8-25 20:54
被final关键字修饰的类是不可以被集成的,没有被final关键字修饰的类则可以被集成,可以派生新的子类,而String类是使用final关键字修饰的类,所以不能被继承
作者: pm324    时间: 2013-8-26 09:48
本帖最后由 pm324 于 2013-8-26 09:58 编辑
左岸 发表于 2013-8-21 13:12
因为Sting是这样定义的:public final class String extends Object,里边有final关键字,所以不能被继承。 ...

这一个个回答的都是啥,版主还加分!!!{:soso_e117:}
唉。。。。
@赵宗荣 (虽然@不到你。。。)   同学敢不敢认真点{:soso_e131:}- -
4楼正解








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