2

今日、Java で HashMap クラスのソース コードを見たとき、キーと値のペアを記録するために使用される HashMap の Entry クラスが静的であることがわかりました。

 static class Entry<K,V> implements Map.Entry<K,V> {

}

クラスの静的メンバーがクラスのすべてのインスタンスに対して1つの値しか持たないことを私が知っている限り.この現象が静的ネストされたクラスの場合にどのように適用されるか. また、StackOverFlow のいくつかの議論を読んでも正確なポイントに到達できません。以下は、エントリ クラスが静的である理由についての説明のリンクです。

Javaの静的ネストされたクラス、なぜですか?

4

2 に答える 2

1

それは本当に組織的な目的のためだけです。ネストされた静的クラスは、パッケージ内の最上位クラスのように動作します。この場合、Entry クラスは HashMap に直接関連しているため、ネストしてメイン パッケージを汚染しないようにするのが理にかなっています。

Oracle チュートリアルを読むことをお勧めします: http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

于 2013-10-17T05:41:36.070 に答える