C# 静态类 考考你
判断题,下面描述哪些正确,哪些错误
- 静态类必须直接从基类System.Object 派生
- 静态类不能实现任何接口
- 静态类只能定义静态成员(字段,方法,属性和事件)
- 静态类不能作为字段,方法参数或局部变量使用
- 静态类不能继承静态类
- 静态static关键词不用于结构(值类型)
- 静态类常存放扩展方法
- 如果编程语言不支持静态类的定义,那么请把类定义为abstract,sealed和把类的实例构造函数定义为私有
- 静态方法调用不需要实例化静态类,直接使用类型名调用该方法
答案:
- 正确 ,继承只适用于对象,你不能创建静态类的实例。
- 正确,因为只有使用类的实例时,才可调用类的接口方法。
- 正确,静态类中的任何实例成员编译器会报错。
- 正确,因为它们代表实例的变量。
- 正确,因为静态类标记为abstract 和 sealed
- 正确,因为结构(值类型)会被实例化。
- 正确,静态类广泛用于提供一些访问其他操作的快捷方式,存放扩展方法,或者以非面向对象的方式来提取一些功能(例如System.Enviroment)
- 正确,例如.net1.0 不支持静态类,则这样处理,实例构造函数定义为私有则无法构造实例
- 正确,静态类不需要实例化,直接使用类名称调用方法
参考书目:
CLR via C#(第四版)
NET设计规范 约定、惯用法与模式(第二版)