С чем инициализируются поля 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;
}
}
Что лучше и почему?