用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控制台上面学到很多东西