C#:static关键词

在我遇见的程序里,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类有什么好处,暂时我也还不知道。日后发现了,再更新这篇文章吧。

猜你喜欢

转载自blog.csdn.net/buaazyp/article/details/80081970