好奇,
如果我有一个静态类,我是否还必须将变量定义为静态,因为我已经说过该类是静态的?
这更多是出于好奇,在我的静态类中,目前我也将变量定义为静态;但是,我想知道这是否真的是必要的。
我正在使用C#。
由于
答案 0 :(得分:1)
是,如果您使用static
关键字定义了自己的课程,则还需要对其所有成员使用static
。
答案 1 :(得分:1)
答案 2 :(得分:1)
这是一种快速测试方法。复制以下代码并将其粘贴到IDE(Visual Studio)。然后逐个取消注释两条注释行中的每一行。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StaticTest
{
static class Program
{
/**
* Uncomment one line at a time and compile program.
**/
//public int NonStaticVariable = 0;
//public static int StaticVariable = 0;
static void Main(string[] args)
{
}
}
}
你会注意到对于非静态变量,抱怨:
'StaticTest.Program.NonStaticVariable':无法在静态类中声明实例成员
这是因为在.NET中,静态类只能包含静态成员。如果您想进一步阅读此内容,请点击以下链接:http://msdn.microsoft.com/en-us/library/79b3xss3.aspx
答案 3 :(得分:0)
如果您使用的是Java,则不能使用静态上下文中的非静态变量。
这也取决于你使用的语言(你应该告诉我们)。
但请看一下:
爪哇: Non-static variable cannot be referenced from a static context
C ++: The static keyword and its various uses in C++
希望它有所帮助:)