0

thisメソッド内でキーワードを使用できないことはわかっていましたstaticが、なぜthis内部でstatic blocksorを使用できないのか混乱しstatic methodsました。と同じ場合でもsuper()。誰かがこれに光を当てることができますか?

ありがとう

4

7 に答える 7

0

たとえば、静的ブロックを使用して静的変数を初期化できます。

静的メソッドは、インスタンス スコープ内でも機能しません。

どちらもクラスのみに関連しており、そのクラスのインスタンスとは何の関係もありません。

于 2013-05-28T14:33:14.440 に答える
0

これに答えるには、静的とは何を意味するのかを検討する必要があります。これは、このビットがメモリ内の「静的」な場所に配置され、一度だけ存在することを意味します。

したがって、すべてのクラスには静的ビットと非静的ビットがあります。静的ビットは 1 回存在し、非静的ビットは何度も存在できます (つまり、多数の異なるインスタンス)。「これ」という単語は、「非静的ビットのこのバージョン」の省略形と考えることができます。

静的コンテキストでは、参照する非静的ビットのバージョンがない (より正確には、どのバージョンを参照すべきかわからない!) ため、 this はありませ。スーパーについても同じことが言えます。

于 2013-05-28T14:41:44.930 に答える