Я читаю книгу Kotlin in Action и пытаюсь лучше понять объекты-компаньоны. Существуют ли другие способы использования объектов-компаньонов, кроме добавления реализаций методов из интерфейса / абстрактного класса?
Я натолкнулся на способсоздания экземпляра объекта, который работает, только если класс является абстрактным:
fun main(args: Array<String>) {
Fruit.showColor()
}
class Fruit(val name: String) {
companion object : Apple()
}
abstract class Apple {
fun showColor(){
print("I am an apple")
};
}