Heim > Java > javaLernprogramm > Hauptteil

Detaillierte Erläuterung der Klassen und Container der Java-Initialisierungsmethode

迷茫
Freigeben: 2017-03-26 15:53:42
Original
1989 Leute haben es durchsucht

Java-Initialisierungsmethode: Klasse, Container

Initialisierungsklasse (nicht endgültig):

In der DefaultActionMapper-Klasse von Struts2:

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()));
                }
            }
         }); //。。。。
     }};
}
Nach dem Login kopieren

put ist die Methode of PrefixTrie: public void put(String prefix, Object value) ;

Initialisierungscontainer:

Ursprüngliche Methode im Sammlungsframework (Sammlungen wie Liste, Karte, Satz usw.):

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

Statische Initialisierungsmethode:

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

Doppelte Klammersyntax erstellt und initialisiert eine neue Sammlung:

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

Die erste Klammerebene definiert tatsächlich eine interne anonyme Klasse (Anonyme innere Klasse);

Die zweite Klammerebene definiert tatsächlich eine Instanzinitialisierungsblock (Instanzinitialisierungsblock), dieser Block wird ausgeführt, wenn die interne anonyme Klasse erstellt wird.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Klassen und Container der Java-Initialisierungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage