Scala: объекты-компаньоны и "новое" ключевое слово
В моих недавних сообщениях об использовании или опускании "нового" ключевого слова в Scala ( "новое" ключевое слово в Scala) мне сказали, что упущение исходит из того, что определенные классы имеют сопутствующие объекты, определенные с помощью метода apply на них. Мой вопрос: можем ли мы сказать или есть общее правило, чтобы отличать, какие классы/объекты имеют объект-компаньон и применять метод?
Спасибо заранее и извините, это глупый вопрос, но, исходя из фона Java, он немного запутан.
Ответы
Ответ 1
В Scala документации по API вы видите небольшую иконку в списке слева. Если вы нажмете на это, перейдите к документации сопутствующего объекта класса или признака, упомянутого выше.
В большинстве классов коллекций и многих других классов в стандартной библиотеке есть объекты-компаньоны с методами apply
.
Для классов case компилятор Scala автоматически создает объект-компаньон с помощью метода apply
(а также других методов).
Ответ 2
В scala документации API вы можете получить доступ к сопутствующему объекту, щелкнув значок как описанный Jesper, но вы также можете переключаться между классом и его сопутствующим объектом, нажав на символ класса/объекта в верхней части главной панели: