私はgoogle guiceのソースを調べていて、よく知られていないコードを見つけました。もし誰かがそれを明確にすることができれば偉大な学習になるでしょう。Java:インターフェースの内部クラス(google guiceから)
私はインナークラスを非常に基本的に理解しています。インプリメンテーションの詳細をパブリックインターフェイスに近づけるためです。さもなければ、内部クラスは名前空間を汚染するかもしれません。
今、私はそれが静的変数に内部クラスのインスタンスを割り当てるが、スコープ(at)
パブリックインターフェーススコープ
として定義されるインタフェースである下行 atpublic static final Scope SINGLETON = new Scope() {
public <T> Provider<T> scope(final Key<T> key, final Provider<T> creator) {
return new Provider<T>() {
.........
}
参照
パート1:
インターフェイスをインスタンス化することはできますか?またはインターフェイスの匿名実装のための簡潔な構文ですか?
パート2:
誰でも著者は(スコープとプロバイダ)上記複数のネストされたクラスによって意図されたものを説明することができ、そしてなぜそれがこの方法を実装するために理にかなっている場合、それがために私を助けますわかる。ありがとう。
[これはインターフェイスからオブジェクトを作成するように見えます。どのように動作するのですか?](http://stackoverflow.com/questions/3947708/this-appears-to-create-an-object-from-an-interface-how-does-it-work) –
@Bert、同意、この質問はguice特有の問題ではなく、Javaの一般的な質問です。 –
@Mike - 良い目 - 将来のサーチャーのためにタグが更新されました –