Чем инициализируются поля объекта Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Чем инициализируются поля объекта Java?

Сообщение Anonymous »

Это значение 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;
}
}
Что лучше и почему?

Подробнее здесь: https://stackoverflow.com/questions/191 ... lized-with

Вернуться в «JAVA»