Class '的意义是什么;静态';以某种方式

Class '的意义是什么;静态';以某种方式,class,methods,static,Class,Methods,Static,看看下面的addValues方法,如果我没有包含'static'关键字,那么这个方法是不可调用的。为什么会这样 namespace TryingMethods { class Program { static void Main(string[] args) { Console.WriteLine(addValues(3, 4)); } public static int addValues(int left, int right) {

看看下面的addValues方法,如果我没有包含'static'关键字,那么这个方法是不可调用的。为什么会这样

namespace TryingMethods
{
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(addValues(3, 4));
    }

    public static int addValues(int left, int right)
    {
        return left + right;
    }
}
}

调用静态方法不需要实例化类

Program.addValues(1,2)

静态方法无法获取/设置类成员

调用静态方法不需要实例化类

Program.addValues(1,2)

静态方法无法获取/设置类成员,这是因为您的
Main
函数声明为
static
,因此您在其中调用的方法也必须是静态的。如果从这两个函数中删除
static
,则不会出现错误。

这是因为您将
Main
函数声明为
static
,因此您在其中调用的方法也需要更改。如果从这两种方法中删除
static
,则不会出现错误。

这是因为static方法只能访问静态变量和其他静态方法。通常,不能在main()方法中调用addValues(int left,int right),该方法是静态的。唯一的解决方法是拥有一个包含addValues()方法的类的实例。

这是因为静态方法只能访问静态变量和其他静态方法。通常,不能在main()方法中调用addValues(int left,int right),该方法是静态的。唯一的解决方法是拥有一个包含addValues()方法的类的实例。

当您不说
static
时,这意味着该方法是该对象的“属性”,它是该特定类的实例化。如果不说static,则意味着该方法不是对象的属性,因此可以在不引用对象的情况下调用

例如,您可以有一个Person类,有一个静态方法“Print hello”,还有一个非静态方法“Give me name”。打印hello与特定的人无关,因此它是静态的。“给我名字”与特定的人相关,因此您需要以不同的方式调用此方法

Person myMan = new Person();
myMan.giveMeName();
printHello();

如果不说
static
,则表示该方法是该对象的“属性”,它是该特定类的实例化。如果不说static,则意味着该方法不是对象的属性,因此可以在不引用对象的情况下调用

例如,您可以有一个Person类,有一个静态方法“Print hello”,还有一个非静态方法“Give me name”。打印hello与特定的人无关,因此它是静态的。“给我名字”与特定的人相关,因此您需要以不同的方式调用此方法

Person myMan = new Person();
myMan.giveMeName();
printHello();
可能的重复可能的重复