static关键字
时间:2010-12-21 来源:自学——X
使用static关键字应该注意一下几点:
-
常数或者类型声明隐式地是静态成员。
-
不能通过实例引用静态成员。然而,可以通过类型名称引用它
若要引用静态成员 x,请使用完全限定名(除非可从相同范围访问):
MyBaseC.MyStruct.x
-
尽管类的实例包含该类所有实例字段的单独副本,但每个静态字段只有一个副本。
-
不可以使用 this 来引用静态方法或属性访问器。
-
如果对类应用 static 关键字,则该类的所有成员都必须是静态的。
-
类(包括静态类)可以有静态构造函数。在程序开始和实例化类之间的某个时刻调用静态构造函数。
-
静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标志的数据和行为,无论对象发生什么样的变化。这些数据和函数都不会随之发生变化。当类中没有依赖对象标志的数据或行为时,就可以使用静态类。
-
类可以声明为static的,一直是它只包含静态成员。不能使用new关键字创建静态类的实例。
-
可以使用静态类来包含不与特定对象关联的方法。
静态类的主要特点:
- 静态类只包含静态成员
- 静态类不能被实例化
- 静态类是密封的
- 静态类不能包含实例构造函数,但是可以声明静态构造函数以分配初始值或设置某个静态状态
- 即使没有创建静态类的实例也可以调用类中的静态方法、字段、属性和事件。如果创建了该类的实例,不能使用实例来访问静态成员静态方法只能访问静态字段和事件。
- 静态成员通常用于表示不会随对象状态变化的数据或计算。
示例:
namespace 静态类静态成员 { class Program { static void Main(string[] args) { Console.WriteLine(MyClass.MyName()); Console.ReadLine(); } } public static class MyClass { /// <summary> /// 静态方法¨ /// </summary> /// <returns>返回姓名</returns> public static string MyName() { return "Hello"; } } }
相关阅读 更多 +