null-объект?
val nullTest: Any? = null
Нет. По своему изначальному смыслу null - это указатель на область памяти, которой гарантированного нельзя пользоваться. В управляемых языках от указателей в сишном мало что осталось, поэтому можете принять, что нулл - это просто какое-то специальное значение, оно одно, оно ничего нигде не занимает.
Зависит. В хипе может быть ссылка на null. А может быть ссылка на ссылку на null. Лучше, разумеется, сказать зачем оно нужно, тогда будет понятно, какой ответ
собрал сейчас такой кейс: fun main() { var nullTest: NullTest? = null println(nullTest?.age) } class NullTest(){ val age = 20 fun printAge(){ println(age) } } И пытаюсь понять, почему у меня есть возможность обратиться к свойствам нулл объекта - println(nullTest?.age). соответственно приходит одно объяснение - что в хипе был создан объект данного класса, но является нуллом
Где тут обращение к свойствам нулл объекта?
Не нулл объекта, а нулябельного типа. Кроме того, семантика оператора ?. довольно недвусмысленным образом описывает все, что надо знать
Обсуждают сегодня