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     }

 

posted @ 2017-10-04 21:40  LiuChangwei  阅读(611)  评论(0编辑  收藏  举报