(Java) Использование импортированных конструкторов классов в методах другого класса [duplicate]

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

6
задан Zeki 10 December 2014 в 19:08
поделиться

1 ответ

Право (хотя и смущает) иметь метод с тем же именем, что и класс, new устраняет любую двусмысленность. new указывает, что JVM должен вызвать метод инициализации экземпляра для данного класса и списка аргументов и вернуть инициализированный объект (ссылка на первый (скрытый) параметр метода инициализации).

Дизайнеры Java, вероятно, могли найти альтернативный синтаксис, но у них была цель дизайна, что любая память времени была выделена в куче, ее нужно вызывать явно, требуя ключевое слово new. Вероятно, это кажется странным, но большинство целевой аудитории Java были программистами на C и C ++, которые были подозрительны к сбору мусора, и это означало, что разработчики не имели выделенной памяти без их ведома.

4
ответ дан Nathan Hughes 19 August 2018 в 07:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: