静态方法调用
我有一个类,它有一个静态方法,如下所示。
class A
{
A()
{
Initialize();
}
static void fm()
{
;
}
void Initialize()
{
;
}
}
现在在程序中如果我调用A.fm(),它会调用Initialize
方法吗?
I have one class which has one static method as shown below.
class A
{
A()
{
Initialize();
}
static void fm()
{
;
}
void Initialize()
{
;
}
}
Now in the program if i call A.fm(), Will it call the Initialize
method or not?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
半岛未凉2024-12-18 02:34:56
您应该寻找一个静态构造函数,如果是这样,并且您使用的是 c#,您可能想运行此代码。静态构造函数允许您在运行类中的任何其他代码之前运行初始化代码。
public class A
{
public static void Method()
{
Console.WriteLine("METHOD!!!");
}
public void Method2()
{
Console.WriteLine("INSTANCE METHOD!");
}
static A()
{
Console.WriteLine("STATIC CTOR");
}
}
class Program
{
static void Main(string[] args)
{
A.Method();
new A().Method2();
A.Method();
A.Method();
A.Method();
A.Method();
A.Method();
A.Method();
}
}
然后就是输出了!
STATIC CTOR
METHOD!!!
INSTANCE METHOD!
METHOD!!!
METHOD!!!
METHOD!!!
METHOD!!!
METHOD!!!
METHOD!!!
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
假设这是用 C++、Java 或 C# 等语言编写的:
不会。仅当使用 new 或该类型的变量(本例中为 A)被声明为局部变量时,才会调用构造函数。
Assuming that this is in a language like C++, Java, or C#:
It will not. Constructors only get called when
new
is used or when a variable of that type (A in this case) is declared as a local variable.