c#初学12-12-为什么mian函数必须是static的
2011-12-12 22:26
232 查看
c#程序刚开始启动的时候都会有唯一一个入口函数main()函数,而非静态成员又称实例成员,必须作用于实例。在程序刚开始运行的时候,未建立任何实例,因此无法调用实例成员,包括非静态的Main方法。为了能够在程序的开始执行Main方法,必须将其声明为静态。
顺便说明,在Main方法中调用的成员也必须是静态的,除非建立过相应的实例。
例如:
顺便说明,在Main方法中调用的成员也必须是静态的,除非建立过相应的实例。
例如:
namespace lover_P.Test { public class Test { public void InstanceMethod() {} // 实例成员(非静态) public static void StaticMethod {} // 类型成员(静态) public static void Main() { InstanceMethod(); // 错误!调用了实例成员,而此时并没有建立实例 StaticMethod(); // 正确!可以调用静态成员 Test SomeTest = new Test(); // 建立本类型的一个实例 SomeTest.InstanceMethod(); // 再在这个实例上调用实例成员就对了 SomeTest.StaticMethod(); // 附加一句,在实例上调用静态成员也是错误的! } } }
相关文章推荐
- 为什么mian函数必须是static的
- Java接口中的成员变量为什么必须声明为public static final?
- 静态函数 静态数据成员与静态成员函数 为什么虚函数必须是非静态成员函数 构造函数能为static吗?
- 为什么接口要规定成员变量必须是public static final的呢?
- 为什么VB.net的Shared(共享)方法在C#中叫Static(静态)?
- Java中的static关键字解析(转自海子)__为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。
- 为什么在C++使用pthread_create()的时候,类成员函数做线程的处理函数必须要定义成static类型的?
- 为什么虚函数必须是非静态成员函数 构造函数能为static吗?
- c#中main函数为什么要static
- Java接口中的成员变量为什么必须是public static final?
- C++ VS C#(12):函数的重载,类成员的static修饰,属性
- Java接口中的成员变量为什么必须声明为public static final?
- 为什么虚函数必须是非静态成员函数 构造函数可以为static
- C++ VS C#(12):函数的重载,类成员的static修饰,属性
- 为什么static成员必须在类外初始化
- c#中 接口成员为什么不能使用关键字static virtul override abstract
- C#中Main()函数为什么必须是静态的?
- 为什么虚函数必须是非静态成员函数 构造函数可以为static
- Java接口中的成员变量为什么必须是public static final?
- 为什么VB.net的Shared(共享)方法在C#中叫Static(静态)?