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 중국어 웹사이트의 기타 관련 기사를 참조하세요!