В Java, если мы объявляем примитивную переменную (не локальную), такую как int, float и т. Д., И не инициализируем их, тогда они инициализируются значениями по умолчанию. Можем ли мы добиться чего-то подобного для ссылочных переменных? Например, если у меня есть класс сотрудника, который содержит две переменные int и в другом классе, если я создал только ссылку класса employee, возможно ли, что переменные int инициализируются нулем?Присвоить значение по умолчанию ссылочной переменной
ответ
В Java, если мы объявляем примитивную переменную (не локальную), такую как int, float и т. Д. И не инициализируем их, тогда они инициализируются значениями по умолчанию.
Нет, они этого не делают. Поля do, оба поля экземпляра и поля класса, но не переменные.
Можем ли мы добиться чего-то подобного для ссылочных переменных?
Поля ввода совпадают. Значение, которое они инициализируют, составляет null
.
Например, если у меня есть класс сотрудника, который содержит две переменные int и в другом классе, если я создал только ссылку класса employee, возможно ли, что переменные int инициализируются нулем?
Если по «создал ссылку» вы имеете в виду, что вы создали Employee
экземпляр, то все поля в этом случае будут инициализированы по умолчанию, если Employee
конструктор не дает им другое значение.
Только не локальные поля инициализируются значениями по умолчанию, если они явно не инициализированы. Так, что-то вроде этого
public class Main {
boolean flag;
void foo(){
System.out.println(flag);
}
}
компилирует и foo()
метод напечатает false
, а что-то вроде этого
public class Main2 {
void foo(){
boolean flag;
System.out.println(flag);
}
}
даже не компилировать. Кроме того, значением по умолчанию для ссылки является null
.
Что вы можете сделать, это проектирование свой класс таким образом, что, когда инициализируется класс, значение assigne его переменных экземпляра, что-то вроде
public class Main {
boolean flag;
{
flag=true;
}
void foo(){
System.out.println(flag);
}
}
Поля инициализируются в null
, если они из какой-то «тип» (кроме примитивных типов), в любом случае, если вы укажете значения по умолчанию в своем конструкторе по умолчанию для этого класса, в частности, вы можете переопределить значения по умолчанию для null
.
final class Employee {
private String firstName;
private String lastName;
// You can have more constructors here
public Employee() {
firstName = "Default Value for First Name";
lastName = "Default Value for Last Name";
}
// Getters, Setters
}
- 1. Значение по умолчанию для ссылочной переменной
- 2. Укажите значение по умолчанию для инициализации инициализации ссылочной переменной экземпляра
- 3. Значение по умолчанию переменной
- 4. Присвоить значение по умолчанию: Java
- 5. Присвоить значение по умолчанию свойству
- 6. Присвоить значение по умолчанию переменной и изменения в базу данных
- 7. Невозможно присвоить значение по умолчанию для локальной переменной в SQL
- 8. Самый короткий способ присвоить значение по умолчанию переменной?
- 9. Требуется ли присвоить значение по умолчанию переменной в Голанге?
- 10. Значение переменной по умолчанию
- 11. Значение ссылочной переменной в Java
- 12. Как присвоить значение по умолчанию карте?
- 13. Присвоить значение по умолчанию атрибуту xsd
- 14. Nullable Color - присвоить значение по умолчанию
- 15. C++ Назначение ссылочной переменной из переданной в ссылочной переменной?
- 16. Присвоить значение конечной переменной
- 17. Невозможно присвоить значение переменной
- 18. Возвращает значение переменной по умолчанию?
- 19. Значение по умолчанию переменной errno
- 20. рельсы присвоить переменной значение Param
- 21. VBA Присвоить значение (только) переменной
- 22. Внешняя функция ссылочной переменной
- 23. Можно ли присвоить значение по умолчанию переменной в случае, если первое значение не существует?
- 24. присвоить значение переменной окружения alist
- 25. Как присвоить значение 0 переменной?
- 26. Невозможно присвоить значение окончательной переменной
- 27. Присвоить значение измерения переменной SSIS
- 28. Как присвоить значение словаря переменной?
- 29. Невозможно присвоить значение переменной - Javascript
- 30. Невозможно присвоить значение переменной экземпляра
Можете привести пример кода? Терминология, которую вы используете, довольно неточна, настолько, что трудно ответить на ваш вопрос. –
Я вижу там может быть недоразумение между ссылкой и объектом. В основном ссылки и объекты разные. ссылки содержат объект того же или подтипа. ссылки получают пространство в стеке, а объект получает место в куче. И я хотел бы направить вас к Google, чтобы собрать больше информации об этом. –
Будьте уверены, вы не будете читать мусор, случайные данные в программе java. сначала все сначала обнуляется. – ZhongYu