静态方法:
?一、静态方法:
?静态方法与静态字段类似,也是从属于类,都是类的静态成员。只要有类存在,静态方法就可以使用,静态方法的定义是在一般方法定义前加上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