Question

Quelle est la différence entre un C # constructeur statique et un bloc Java statique?

Les deux doivent être parameterless. Ils sont tous deux appelés qu'une seule fois, lorsque la classe est liée d'abord utilisée.

Suis-je manque quelque chose, ou sont-ils la même chose, juste avec des noms différents?

Était-ce utile?

La solution

Ils sont équivalents, sauf qu'une classe C # ne peut avoir qu'un seul constructeur statique (plus initialiseurs champ statique).

En outre, en C #, un constructeur de static appliquera la beforefieldinit drapeau.

Autres conseils

Ils regardent la même chose, l'exemple suivant montre que c # constructeur statique fonctionne comme bloc statique java

protected Singleton()
{
    Console.WriteLine("Singleton constructor");
}

    private static readonly Singleton INSTANCE;

    static Singleton() {
        try {
           INSTANCE = new Singleton();
        }
        catch(Exception e) {
            throw new Exception();
        }
    }

Oui, ils sont équivalents Un autre point est java ne prend pas en charge constructeur statique mais le support bloc statique et c # support constructeur statique.

Ils ne sont pas.

En C #, il ne peut contenir que des blocs constructeurs. En Java, vous êtes en mesure d'exécuter des instructions.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top