共享变量--[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)); } } }
结果:
如果没有实例化,就调用静态的构造函数,给变量赋初值。
如果实例化,就按照一般的构造函数来执行。实例化类后,虽然不能访问其他的静态变量,但是可以访问静态的方法。