0

ここでは、多くの説明を行っても、まだ意味がわからないのではないかと疑問に思っています。なぜプライベート静的メソッドを宣言する必要があるのですか?メソッドはプライベートなので、クラス自体からしかアクセスできず、インスタンスを作成しなくても内部関数を簡単に呼び出すことができますね。それとも私はこの概念に間違っていますか?つまり、プライベートメソッドがある理由(ロジックをクラス自体だけに保持したいため)と、静的メソッドが必要な理由(メソッドにアクセスするためのインスタンスが必要ないため)も理解できます。それで、私の質問は、それがプライベートであるときになぜそれを静的にする必要があるのか​​ということです。他のクラスにアクセスさせたくないので、コードから直接呼び出すことはできませんが(プライベートであるため)、静的なままですか?

混乱して申し訳ありませんが、はい、私は混乱しています。誰かがこの概念について私を助けることができますか?

よろしく、イーイン

4

2 に答える 2

2

静的パブリックから静的プライベートを呼び出す必要がある場合があります。静的パブリックは非静的プライベートにアクセスできません!

于 2012-05-18T00:55:31.847 に答える
0

プラットフォームによっては、パフォーマンスが別の理由になる場合があります。.NETプラットフォームの場合、 Microsoftの静的コード分析ツールであるFxCopのドキュメントに、次のステートメントがあります。

インスタンスデータにアクセスしたり、インスタンスメソッドを呼び出したりしないメソッドは、静的としてマークできます(Visual Basicでは共有)。メソッドを静的としてマークした後、コンパイラーはこれらのメンバーに非仮想呼び出しサイトを発行します。非仮想呼び出しサイトを発行すると、実行時に各呼び出しをチェックして、現在のオブジェクトポインターがnullでないことを確認できなくなります。これにより、パフォーマンスに敏感なコードのパフォーマンスが測定可能に向上する可能性があります。場合によっては、現在のオブジェクトインスタンスにアクセスできないことが、正確性の問題を表していることがあります。

于 2012-05-18T07:42:28.563 に答える