6. 静态方法和实例方法
1、定义
(1)静态方法:有 static 关键字即为静态方法;C# 静态方法及属性在程序启动时,就全部装入内存,而不管这些方法、属性以后有没有用到;C# 静态方法、数据成员是属于类的,不属于某一个对象,因而调用他不需要实例化。
作用:简化编程,方便调用。
(2)实例方法:不含 static 关键字的即为实例方法。即使用实例对象调用的方法;
2、方法调用(实例)
(1)实例方法可以使用类的任何成员,即静态和实例成员。
(2)实例方法调用实例方法可以直接调用;
(3)在实例方法中可以使用 this来访问该实例;
(4)实例方法调用静态方法使用类名调用(注:在同一个类中,实例方法可以直接调用静态方法);
3、方法调用(静态)
静态方法是类中的一个成员方法,它不属于类的某一个具体实例,而是属于类本身。所以静态方法不需要首先创建一个类的实例来调用,而是采用类名.静态方法的格式。静态方法效率上要比实例化高,缺点是不自动进行销毁。
(1)访问静态方法时只需使用类名(其他类调用必须使用访问修饰符public等提高方法的访问权限),而不需要创建对象,也不能使用对象名来引用。静态方法中不能使用关键字 this;
(2)静态方法可以直接调用其他静态方法;
(3)静态方法调用实例方法,必须要进行类的实例化。使用类的实例或对象来引用。
4、例:
1 class Program 2 { 3 int exampleVar = 0; //实例成员 4 static int staticVar = 0; //静态成员 5 static void staticMethod() //静态方法 6 { 7 staticVar = 2; //静态方法中使用静态成员 8 } 9 void exampleMethod() //实例方法 10 { 11 //可以调用类的任何成员 12 exampleVar = 2; 13 staticVar = 55; 14 } 15 16 static void Main(string[] args) 17 { 18 staticMethod(); //调用静态方法时直接调用 19 20 //调用实例方法 21 Program p = new Program();//将类进行实例化 22 p.exampleMethod(); 23 p.exampleVar = 100; 24 } 25 }