静态方法:
?一、静态方法:
?静态方法与静态字段类似,也是从属于类,都是类的静态成员。只要有类存在,静态方法就可以使用,静态方法的定义是在一般方法定义前加上static关键字。
?
?二、调用:
?调用静态方法的格式如下: 类名.静态方法名(参数表);
?
?三、注意:
?静态方法只能访问静态字段、其他静态方法和类以外的函数及数据,不能访问类中的非静态成员(因为非静态成员只有对象存在时才有意义)。但是静态字段和静态方法可以由任意访问权限许可的成员访问。
?
?四、示例:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Proj6_5 { //说明静态方法的使用 class Myclass2 { int n; public Myclass2(int i) { n = i; } static public void add() { s++; } //定义静态方法 static public int s = 0; } class Program { static void Main(string[] args) { Myclass2 a = new Myclass2(2); Myclass2 b = new Myclass2(5); Myclass2 c = new Myclass2(8); Myclass2.add(); //调用静态方法 Console.WriteLine("s={0}", Myclass2.s); Myclass2.add(); //调用静态方法 Console.WriteLine("s={0}", Myclass2.s); Myclass2.add(); //调用静态方法 Console.WriteLine("s={0}", Myclass2.s); } } }
?
?五、运行效果:
?
?
?六、解释:
?由于静态方法只能访问静态字段、其他静态方法和类以外的函数及数据,所以,在上述中可以看做是只执行了add()方法,如果你把变量n也写成静态字段,在add方法里面写成s=s+n;那么结果就是下面:
?
?
?
?这是因为a,b,c分别被定义且初始化后,此时n的数值就取决于最后一次的操作,最后一次操作想当是给n赋值为8,之后就是在add操作,所以数值如上.
?
原文:http://cb123456.iteye.com/blog/2210357