静的とは、その変数またはメソッドがクラス自体に属し、ClassName.StaticMethodNameで使用できることを意味します。つまり、問題は次のとおりです。別の非静的メソッド内で非静的メソッドを使用できますが、静的メソッドで非静的メソッドを使用することはできません。私はなぜ非静的メソッドを別の非静的メソッドの中で使用できるのか理解できません。非静的メソッドを使用するオブジェクトが必要ないのですか?静的メソッドの場合、クラス名を使用する必要があり、それで十分です。しかし、なぜメソッドを使うためにオブジェクトが必要ないのですか?例:静的メソッドと非静的メソッドについて
//このコードではエラーは発生しません。私にはわからないことがありますか?たぶんC#methodB()の前に隠しオブジェクトを追加する?
ClassA()
{
public void methodA()
{
methodB();
}
public void methodB()
{
}
}
コードはエラーを生成しませんが、オブジェクトインスタンスなしでそれらの関数を呼び出すことはできません – dahui
メソッドBはthis.methodBとして内部的に呼び出されます。つまり、クラスの同じインスタンスを共有しています – JerryGoyal
inside methodB inside methodAでは、すでにClassAのインスタンス、つまりオブジェクト自体を作成しています。 – Owuor