Если вам от этого легче, вы можете создать класс с защищенным конструктором, а object
создаст синглтон этого класса:
sealed class MyClass protected (val a: String, b: Int) {
def doStuff = a + b
}
object MyObject extends MyClass("Hello", b = 1)
Также обратите внимание, что sealed
останавливает другие классы и объектырасширение MyClass
и protected
не позволит создавать другие MyClass
экземпляры.
Но лично я не вижу проблем с некоторым кодом в теле объекта.Вы также можете создать некоторый метод, например init
, и просто вызвать его:
object MyObject {
init()
def init() {
...
}
}