chuqi

博客园 首页 新随笔 联系 订阅 管理

静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。

探究

public static class StaticTestClass
{
    public static int n = 0;

    public static void Add()
    {
        n++;
    }
}
  • 网页 P1.aspx 调用 StaticTestClass.Add(),并在页面上输出 n。
  • 网页 P2.aspx 调用 StaticTestClass.Add(),并在页面上输出 n。

 

  • 访问者 V1 从客户端 C1 访问 P1.aspx,此时输出为 1。
  • 访问者 V2 从客户端 C2 访问 P2.aspx,此时输出为 2。
  • 访问者 V1 关闭浏览器,重新打开访问 P1.aspx,此时输出为 3。

只要 StaticTestClass 没有被重新编译,即使 P1.aspx、P2.aspx 被重新编译,每当调用 StaticTestClass.Add(),n 都会在前一个次的基础上加 1。

原则

  • 静态类中的所有成员必须是静态的。
  • 静态类可以有静态构造函数,静态构造函数不可继承。
  • 静态构造函数无访问修饰符、无参数。
  • 静态构造函数不可被直接调用,它在引用类的任何静态成员是自动执行,并且只执行一次。
posted on 2009-06-09 13:01  chu  阅读(124)  评论(0)    收藏  举报