用static定义静态方法

前面有篇文章介绍了静态变量,静态变量是全局的,一处定义,到处使用(如果到处没有再定义相同的全局变量的话)。本文介绍一下静态方法
静态方法可以直接在静态方法里调用,不用实例化,非静态方法如果想调用要先实例化再调用。(静态变量和静态属性用法都差不多,只举一个方法的实例)

还是通过代码说明一下,会比较清晰:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    #region Wrte 的构造函数
    /// <summary>
    /// This is class Write
    /// </summary>
    public class Write
    {
        public Write()
        {  }
        public Write(int i)
        {
            Console.WriteLine("{0}", i);
        }
        public Write(int i, int j)
        {
            Console.WriteLine("{0}和{1}", i, j);
        }

    }
    #endregion
    #region ReWrite 的构造函数
    /// <summary>
    /// this is rewrite
    /// </summary>
    public class ReWrite : Write
    {
        public ReWrite()
        { }
        public ReWrite(int i)
        {
            Console.WriteLine("{0}", i);
        }
        public ReWrite(int i, int j): base(i)//这里base可以换成this
        {
            Console.WriteLine("{0}和{1}", i, j);

        }

    }
    #endregion

    public class Program : ReadClass
    {
        static void Main(string[] args)
        {
            int i = 3, j = 4;
            ReWrite rw = new ReWrite(i, j);
            //Program.Read();
            Write();//这里引用下面的静态变量 无须声明直接可以使用
             //Read();如果这里不实例化一个ReadClass的对象就不能用下面的Read()方法
            Console.ReadKey();
        }
     
    }
}

上面的代码是Program.cs文件

下接着是ReadClass类注意让它和上面的文件在同一个项目中,否则要添加引用项目和静态变量的修饰符是public 要不然会出现没有权限访问

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
   public  class ReadClass
    {
       public void Read()
       {
         Console.ReadKey();
       }
       public static void Write()
       {
           Console.WriteLine("我是静态方法");
       }
   }
}

注意第一段代码的注释部分

输出结果为

“3

3和4

我是静态方法”

可以从简单的window控制台上面学到很多东西

posted @ 2011-09-01 11:50  haiziguo  阅读(503)  评论(0编辑  收藏  举报