#java
Помогите разобраться, что происходит во время выполнения этих строк:
1. String str;
2. str = new String("Hi");
Во время выполнения первой строки происходит создание ссылки str в стеке. А во время
выполнения второй выделение памяти в heap и связывание этого участка с ссылкой в стеке. Так?
И как это работает с составними типами? Например:
class Temp{
String str1;
String str2;
}
1. Temp temp;
2. temp = new Temp();
Во время выполнения первой строчки в стеке создастся не только ссылка temp но и ссылки
str1, str2
Ответы
Ответ 1
Да, все правильно. Но перед созданием объекта, все его поля должны быть инициализированы. Для этого создается конструктор класса в котором необходимо выделить память в куче, для всех его полей
Комментариев нет:
Отправить комментарий