gpt4 book ai didi

c# - 关于静态和非静态方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:25 24 4
gpt4 key购买 nike

我知道 Static 意味着变量或方法属于类本身,我们可以将它与 ClassName.StaticMethodName 一起使用。所以问题是:我们可以在另一个非静态方法中使用非静态方法,但我们不能在静态方法中使用非静态方法。我只是不明白为什么我们可以在另一个非静态方法中使用一个非静态方法?难道我们不需要一个对象来使用非静态方法吗?对于静态方法,我们需要使用类名,这就足够了。但是,为什么我们不需要对象来使用方法呢?例如:

//这段代码不会产生任何错误。还有什么我不知道的吗?也许 C# 在 methodB() 之前添加一个隐藏对象?

ClassA()
{
public void methodA()
{
methodB();
}
public void methodB()
{
}
}

最佳答案

I just do not understand why we can use a non static method inside another non static method?

要调用非静态方法,您需要一个可以调用该方法的对象实例。在此示例中,如果没有 ClassA 的实例化实例,则无法调用 MethodA。

因此,我们知道如果我们在 MethodA 内部,则必须有一个正在执行此函数的现有实例。因此,调用 MethodB 是有效的,因为它是在 MethodA 当前运行的同一对象上调用的。

关于c# - 关于静态和非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40149993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com