Maison > Java > javaDidacticiel > Explication détaillée des classes et conteneurs de la méthode d'initialisation Java

Explication détaillée des classes et conteneurs de la méthode d'initialisation Java

迷茫
Libérer: 2017-03-26 15:53:42
original
2024 Les gens l'ont consulté

Méthode d'initialisation Java : classe, conteneur

Classe d'initialisation (non finale) :

Dans la classe DefaultActionMapper de 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()));
                }
            }
         }); //。。。。
     }};
}
Copier après la connexion

put est la méthode of PrefixTrie : public void put(String prefix, Object value) ;

Conteneur d'initialisation :

Méthode originale dans le cadre de collection (collections, telles que liste, carte, ensemble, etc.) :

Set<String> myset = new HashSet<String>();
myset.add("aa");
myset.add("bb");
myset.add("cc");
myset.add("dd");
domethod(myset);
Copier après la connexion

Méthode d'initialisation statique :

private static final Set<String> myset = new HashSet<String>();
static { myset.add("aa");
    myset.add("bb");
    myset.add("cc");
    myset.add("dd");
}
Copier après la connexion

La syntaxe à double accolade crée et initialise une nouvelle collection :

private static final Set<String> myset = new HashSet<String>() {{
    add("aa");
    add("bb");
    add("cc");
    add("dd");
}};
Copier après la connexion
doMethod(new HashSet<String>() {{
    add("aa");
    add("bb");
    add("cc");
    add("dd");
}});
Copier après la connexion

Le premier niveau de parenthèses définit en fait une classe anonyme interne (Anonymous Inner Class)

Le deuxième niveau de parenthèses définit en fait An bloc d'initialisation d'instance (bloc d'initialisation d'instance), ce bloc est exécuté lors de la construction de la classe anonyme interne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal