C#中静态类、静态方法和静态变量的简单说明

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

静态方法与静态变量一样,属于类本身,而不属于哪个类的一个对象。调用一个被定义为static的方法,只有通过在它前面加上这个类的名称。一般定义里说是可以通过实例调用的。其他语言我还没测试,但是在C#中是不行的,只能通过类型名称引用它(静态变量也是哦)。

1classClass12{3publicstaticstringNo {set;get; }4publicstringSecond {set;get; }56publicstaticvoidWmt()7{8No ="我是静态成员";9}1011}1213classClass214{15publicvoidTest()16{17Class1.Wmt();18Class1.No ="我是静态成员";19varclass1 =newClass1();20class1.Second ="我是非静态成员";2122}2324}

还有几点:

1、静态方法只能调用类的静态成员,但它内部是可以定义变量的(常量也能放在静态方法里(编译器会隐式设置为静态))

2、一般方法也可以调用静态成员

1classClass12{3publicstaticstringNo {set;get; }4publicstringSecond {set;get; }56publicstaticvoidWmt()7{8stringvariate ="我是个变量";9No ="我是静态成员";10}1112publicvoidWww()13{14No ="我是静态成员";15}1617}

如果类只包含静态方法、属性,那它就是静态类

1staticclassclass12{3publicstaticstringNo {set;get; }45publicstaticvoidWmt()6{78}9}

再提下常量和只读字段的区别吧:

常量是一个包含不能修改的值的变量,它是静态的。而只读字段不仅能在声明时初始化,还能在构造函数中赋值,适合用于要通过计算才能确定初始值。只读字段还能是个实例字段哦,类的每个对象都能有不同的值。注意:不一定非要在构造函数中给只读字段赋值,如果没有赋值,它的值就是特定数据类型的默认值。

1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingSystem.Text;56namespaceConsoleapplication37{8classPRogram9{10staticvoidMain(string[] args)11{12varcl =newclass1("I'm readonly");13varc2 =newclass1("I'm readonly too");14varc3 =newclass1();15Console.WriteLine(cl.Wmt);16Console.Write(c2.Wmt);17Console.Write(c3.Wmt);18Console.Read();19}20}21publicclassclass122{23publicreadonlystringWmt;24publicclass1(stringWords)25{26Wmt =words;27}2829publicclass1()30{31}32}3334}

运行结果:

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航