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"); }
二重中括弧構文(二重中括弧構文)は、新しいコレクションを初期化します:
rrreeprivate static final Set<String> myset = new HashSet<String>() {{ add("aa"); add("bb"); add("cc"); add("dd"); }};
最初のレベルのかっこは、実際には 内部匿名クラス(Anonymous Inner Class) を定義します。
2 番目のレベルのかっこは、実際には インスタンス初期化ブロック (インスタンス初期化ブロック) です。 )、内部匿名クラスが構築されると、このブロックは Executed になります。
以上がJava初期化メソッドのクラスとコンテナの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。