Quelles sont objet java champs initialisés avec?

Est-il null pour Object type?

class C {
    int i;
    String s;
    public C() {}
}

Sera s être toujours null?

Que sur les types simples comme int? Que sera-ce? Zéro ou une valeur arbitraire?

Que sur les variables locales dans les méthodes?

public void meth() {
    int i;
}

Quelle est la valeur non de i?


En s'appuyant sur ces valeurs par défaut, cependant, est généralement considéré comme une mauvaise
le style de programmation.

Ok, que suggérez-vous nous faire?

class A {
    String s = "";
    int i = 0;
}

OU:

class A {
    String s;
    int i;
    public A() {
        //default constructor
        s = "";
        i = 0;
    }
}

Ce qui est mieux et pourquoi?

OriginalL'auteur EugeneP | 2009-12-16