
·您现在的位置: 江北区云翼计算机软件开发服务部 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> C#中静态类、静态方法和静态变量的简单说明
静态方法与静态变量一样,属于类本身,而不属于哪个类的一个对象。调用一个被定义为static的方法,只有通过在它前面加上这个类的名称。一般定义里说是可以通过实例调用的。其他语言我还没测试,但是在C#中是不行的,只能通过类型名称引用它(静态变量也是哦)。
1 class Class1
2 {
3 public static string No { set; get; }
4 public string Second { set; get; }
5
6 public static void Wmt()
7 {
8 No = "我是静态成员";
9 }
10
11 }
12
13 class Class2
14 {
15 public void Test()
16 {
17 Class1.Wmt();
18 Class1.No = "我是静态成员";
19 var class1 = new Class1();
20 class1.Second = "我是非静态成员";
21
22 }
23
24 }
还有几点:
1、静态方法只能调用类的静态成员,但它内部是可以定义变量的(常量也能放在静态方法里(编译器会隐式设置为静态))
2、一般方法也可以调用静态成员
1 class Class1
2 {
3 public static string No { set; get; }
4 public string Second { set; get; }
5
6 public static void Wmt()
7 {
8 string variate = "我是个变量";
9 No = "我是静态成员";
10 }
11
12 public void Www()
13 {
14 No = "我是静态成员";
15 }
16
17 }
如果类只包含静态方法、属性,那它就是静态类
1 static class class1
2 {
3 public static string No { set; get; }
4
5 public static void Wmt()
6 {
7
8 }
9 }
再提下常量和只读字段的区别吧:
常量是一个包含不能修改的值的变量,它是静态的。而只读字段不仅能在声明时初始化,还能在构造函数中赋值,适合用于要通过计算才能确定初始值。只读字段还能是个实例字段哦,类的每个对象都能有不同的值。注意:不一定非要在构造函数中给只读字段赋值,如果没有赋值,它的值就是特定数据类型的默认值。
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace Consoleapplication3
7 {
8 class PRogram
9 {
10 static void Main(string[] args)
11 {
12 var cl = new class1("I'm readonly");
13 var c2 = new class1("I'm readonly too");
14 var c3 = new class1();
15 Console.WriteLine(cl.Wmt);
16 Console.Write(c2.Wmt);
17 Console.Write(c3.Wmt);
18 Console.Read();
19 }
20 }
21 public class class1
22 {
23 public readonly string Wmt;
24 public class1(string Words)
25 {
26 Wmt = words;
27 }
28
29 public class1()
30 {
31 }
32 }
33
34 }
运行结果:

复习下知识,再把基础的东西翻出来看看,别有一番体会~~