>  기사  >  Java  >  Java 초기화 메소드 클래스 및 컨테이너에 대한 자세한 설명

Java 초기화 메소드 클래스 및 컨테이너에 대한 자세한 설명

迷茫
迷茫원래의
2017-03-26 15:53:421899검색

Java 초기화 방법: 클래스, 컨테이너

초기화 클래스(비최종):

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(문자열 접두사, 개체 값) ;

초기화 컨테이너:

컬렉션 프레임워크(목록, 맵, 집합 등의 컬렉션)의 원래 메서드:

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");
}

이중 중괄호 구문은 새 컬렉션을 생성하고 초기화합니다.

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

첫 번째 수준 괄호 실제로 정의합니다. 내부 익명 클래스(익명 내부 클래스)

괄호의 두 번째 수준 은 실제로 인스턴스 초기화 블록(인스턴스 초기화 블록)입니다. , 이 블록은 내부 익명 클래스를 생성하는 동안 실행됩니다.

위 내용은 Java 초기화 메소드 클래스 및 컨테이너에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.