ホームページ  >  記事  >  Java  >  Java初期化メソッドのクラスとコンテナの詳細説明

Java初期化メソッドのクラスとコンテナの詳細説明

迷茫
迷茫オリジナル
2017-03-26 15:53:421899ブラウズ

Java 初期化メソッド: クラス、コンテナ

初期化クラス (non-final):

Struts2 の DefaultActionMapper クラス内:

public DefaultActionMapper() {
    prefixTrie = new PrefixTrie() { {
        put(METHOD_PREFIX, new ParameterAction() {
            public void execute(String key, ActionMapping mapping) {
                if (allowDynamicMethodCalls) {
                    mapping.setMethod(key.substring( METHOD_PREFIX.length()));
                }
            }
         }); //。。。。
     }};
}

put は PrefixTrie のメソッドです: public void put(String prefix, Object value);

初期化コンテナ:

コレクションフレームワークの独自メソッド(リスト、マップ、セットなどのコレクション):

Set<String> myset = new HashSet<String>();
myset.add("aa");
myset.add("bb");
myset.add("cc");
myset.add("dd");
domethod(myset);

静的初期化メソッド:

private static final Set<String> myset = new HashSet<String>();
static { myset.add("aa");
    myset.add("bb");
    myset.add("cc");
    myset.add("dd");
}

二重中括弧構文(二重中括弧構文)は、新しいコレクションを初期化します:

rrree
private static final Set<String> myset = new HashSet<String>() {{
    add("aa");
    add("bb");
    add("cc");
    add("dd");
}};

最初のレベルのかっこは、実際には 内部匿名クラス(Anonymous Inner Class) を定義します。

2 番目のレベルのかっこは、実際には インスタンス初期化ブロック (インスタンス初期化ブロック) です。 )、内部匿名クラスが構築されると、このブロックは Executed になります。

以上がJava初期化メソッドのクラスとコンテナの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。