С чем инициализируются поля Java-объектов?

Этоnull заObject тип?

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

Будетs быть всегдаnull?

Как насчет простых типов какint? Что это будет? Ноль или произвольное значение?

Как насчет локальных переменных в методах?

public void meth() {
    int i;
}

Что такое унифицированное значениеi?

Однако полагаться на такие значения по умолчанию считается плохим стилем программирования.

Хорошо, что вы предлагаете нам делать?

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

ИЛИ ЖЕ:

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

Что лучше и почему?

Ответы на вопрос(5)

Ваш ответ на вопрос