黑马程序员技术交流社区

标题: 看到一个面试题,求指教 [打印本页]

作者: 黑马-金鑫    时间: 2012-9-9 08:28
标题: 看到一个面试题,求指教
本帖最后由 黑马-金鑫 于 2012-9-9 13:32 编辑

42.是否可以继承String类?
答:String类是final类故不可以继承。
上面提到的final类是什么意思?和sealed有什么区别?
作者: 霍永刚    时间: 2012-9-9 08:34
sealed是修饰类,方法,属性。当使用sealed修饰类后,就不允许类被其他类继承。还可以在重写基类中的虚方法或虚属性的方法或属性上使用 sealed 修饰符。这将使您能够允许类从您的类继承,并防止它们重写特定的虚方法或虚属性;final修饰符用于指定类不能扩展或者方法属性不能重写。
作者: 卢京    时间: 2012-9-9 08:40
sealed 修饰符可以应用于类、实例方法和属性。用于类时,该类被称为密封类,密封类不能被继承;用于方法时,该方法被称为密封方法,密封方法会重写基类中的方法;sealed修饰符应用于方法或属性时,必须始终与override一起使用;结构是隐式密封的,因此它们不能被继承。

final修饰符来限定变量、字段、方法和类。用于变量时,该变量只能赋值一次,不可修改;用于方法时,该方法不能被重写或隐藏;用于类时,该类不能被继承。

final与sealed不同的是fianl可以修饰变量,而sealed则不能,不过你可以通过readonly关键字来实现。



作者: 徐宏伟    时间: 2012-9-9 10:21
1、The string type represents a sequence of zero or more Unicode characters. string is an alias for String in the .NET Framework.

2、Namespace:  System

3、Assembly:  mscorlib (in mscorlib.dll)

4、public sealed class String : IComparable, ICloneable, IConvertible, IComparable<string>, IEnumerable<char>, IEnumerable, IEquatable<string>;

【备注】:从上面的第四条可以看出来类String的修饰符是sealed;是一个密闭类,故不可以被继承;




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