Я понимаю, что Java-примитивы имеют значения инициализации по умолчанию; например 0
за int
.Явная инициализация примитивов
Из моих исследований кажется, что я не должен полагаться на эти ценности. Должен ли я всегда предоставлять явную инициализацию, и если да, то где?
Вот часть моей программы:
public class Calculator {
// Initialize value where it's declared?
private int value;
public Calculator() {
// Initialize value in constructor?
}
public void add(int other) {
value += other;
}
}
«Из моих исследований кажется, что я не должен полагаться на эти ценности» <- uh? Спецификации языка недостаточно для надежного источника для вас? – fge
Речь идет не столько о том, чтобы полагаться на ценности, сколько на то, чтобы сделать его явным для других программистов, какое значение вы используете. –
Если вам не нужно значение по умолчанию, и логически каждый экземпляр вашего класса должен иметь переменные экземпляра, установленные по крайней мере для определенного значения, то для этого вы можете использовать конструктор. – NINCOMPOOP