共享变量--[Asp.Net]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace demo5
{
    public partial class gongxiang : System.Web.UI.Page
    {

        public class User
        {
            private static int count;//定义静态变量count
            private static string name;//定义静态变量name
            public User()//默认构造函数
            {
                count++;
            }
            static User()//静态构造函数
            {
                count = 0;
                name = "初始值";
            }
            public string Name//姓名属性
            {
                get
                { return name; }
                set
                {
                    name = value;
                }
            }


            public static string OneName//静态属性
            { 
                get
                { return name; }
                
            }
            public static int Count//用这个类定义了多少个对象
            {
                get {
                    return count;//我们只知道这个数,所以只读
                }
            
            }
            public static string Mn(string nname)
            {
                return "个对象,共享方法后的结果是;" + nname;
            }


        }


        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("目前是:"+User.Count +"个对象,初始名字是:"+User.OneName );

            User u1 = new User();
            u1.Name = "天轰穿";
            Response.Write("<br>目前这是"+User.Count +User .Mn (u1.Name ));

            User u2 = new User();
            u2.Name = "tianhongchuan";
            Response.Write("<br>目前这是" + User.Count + User.Mn(u2.Name));

            User u3 = new User();
            u2.Name = "黄小梅";
            Response.Write("<br>目前这是" + User.Count + User.Mn(u3.Name));

        }
    }
}

 

 

结果:

技术分享

 

如果没有实例化,就调用静态的构造函数,给变量赋初值。

如果实例化,就按照一般的构造函数来执行。实例化类后,虽然不能访问其他的静态变量,但是可以访问静态的方法。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。