C#中的静态成员、静态方法、静态类介绍

2019-12-30 11:59:44于丽

总之:实例方法的存在必须要有对象实例的存在,如果对象实例不存在,则实例方法也就没有调用它的主人。静态方法的存在前提是类的存在,所以无需声明和New对象。

1.2代码演示 


class Program
{

  static void Main(string[] args)
  {
    Class1.CallObjectFunc();//静态调用

    Console.WriteLine(Environment.NewLine);

    Class1 tmpClass = new Class1();//实例调用
    tmpClass.ObjectFunc();

    Console.ReadKey();
  }
}

class Class1
{
  static int Class_m = 9;//静态成员
  private int object_m = 8;//实例成员

  public static void CallObjectFunc()
  {
    Console.WriteLine("------------静态方法调用开始:");

    Class1 class1 = new Class1();
    class1.ObjectFunc();
    Console.WriteLine("object_m:" + class1.object_m.ToString());

    Console.WriteLine("------------静态方法调用结束:");
  }

  public void ObjectFunc()
  {
    Console.WriteLine("实例方法调用开始:");

    Console.WriteLine("Class_m:" + Class_m.ToString());

    Console.WriteLine("实例方法调用结束:");
  }
}

输出结果:

C#,静态成员,静态方法,静态类

2.静态类

类可以声明为 static 的,以指示它仅包含静态成员。不能使用 new 关键字创建静态类的实例。例如,创建一组不操作实例数据并且不与代码中的特定对象关联的方法是很常见的要求。您应该使用静态类来包含那些方法。
静态类的主要功能如下:

它们仅包含静态成员。----函数成员和变量都必须有static修饰

它们不能被实例化。

它们是密封的。-----------编译器编译时自动生成sealed标记