StaticVar s = new StaticVar();
s.count();
Console.WriteLine(“变量 num: {0}”, StaticVar.getNum());
和
StaticVar s = new StaticVar();
s.count();
Console.WriteLine(“变量 num: {0}”, s.getNum());
区别
这两段代码都演示了如何使用静态变量,但它们之间存在一个关键的区别。
在第一段代码中:
StaticVar s = new StaticVar();
s.count();
Console.WriteLine(“变量 num: {0}”, StaticVar.getNum());
你创建了一个StaticVar类的实例s,然后调用了count()方法。接下来,你尝试使用类名StaticVar来调用静态方法getNum(),而不是使用实例s。在C#中,要调用一个静态方法,你应该使用类名,而不是实例名。因此,这行代码是正确的:
csharp
Console.WriteLine(“变量 num: {0}”, StaticVar.getNum());
在第二段代码中:
csharp
StaticVar s = new StaticVar();
s.count();
Console.WriteLine(“变量 num: {0}”, s.getNum());
同样,你创建了一个StaticVar类的实例s,并调用了count()方法。然后,你尝试使用实例s来调用静态方法getNum()。这是不正确的,因为静态方法应该通过类名来调用,而不是通过实例。因此,这行代码会导致编译错误。
总结一下,这两段代码的主要区别在于如何调用静态方法getNum()。第一段代码正确地使用类名来调用这个方法,而第二段代码错误地尝试使用实例来调用这个方法。