在我遇见的程序里,static主要有以下三种用法
一:static放在类中方法名前
例如,我定义了一个名叫myClass的类,其中定义了一个叫test的静态方法。如下代码
public class myClass
{
static public int test(int a)
{
return a+1;
}
}
这样做的好处是,当我需要调用test方法时,我不需要对类进行实例化。
static void Main(string[] args)
{
Console.WriteLine("{0}", myClass.test(10));
Console.ReadKey();
}
如上所示,我直接调用了类里的方法而没有创建新对象。运行结果,这个就省去了我们创建对象的操作,在某些时候会使事情变得简单。
二:static放在类名前
我把上面的例子稍微修改了一下,类的定义变成了
static public class myClass
{
static public int test(int a)
{
return a+1;
}
}
这时我另外定义了一个方法
public void test2()
{
}
但是这个时候,我的VS报错了
虽然看起来显得很晦涩,但是其实原因很简单,就是static类里的方法,字段和属性,都只能是static类型的。
所以只需要
static public void test2()
{
}
就可以了。static类与普通类的一个区别就是,它不能被实例化。至于static类有什么好处,暂时我也还不知道。日后发现了,再更新这篇文章吧。