C#新手的疑惑......

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:05:07
using System;

public class StaticAccess
{
public static int sint = 0;
public int nint = 0;
public static void Main()
{
StaticAccess.sint = 3333;
StaticAccess sa = new StaticAccess(); // 问题1
sa.nint = 1000;
Console.WriteLine("static直接访问:"+ StaticAccess.sint);
Console.writeLine("一般成员访问:"+ sa.nint);
}
}

上面这段代码里 一个类包含着一个Main函数. 而在StaticAccess sa = new StaticAccess(); 这里,他又从新申请了一个类的变量。 那么是不是说明有了两个Main函数呢?

第一次接触面向对象的语言。 请各位大大帮忙。 小弟先谢了!

我想不会,因为你定义主函数的语句是:

public static void Main()

说明main()是个static函数,也就是静态函数,所以,类的所有对象都只有一个静态函数,也就是说,即使你生成了多个对象,main()函数也只有一个

不会有两个Main,因为类中的静态函数(static)其实是为类的所有对象所共有,即不过声明了多少个新对象,都是公用同一个静态函数。即使没有对象,用类名都可以访问那个静态函数的