PS1: Как я эхом цветовых кодов из функций, которые выполняются в подоболочках?

Объекты Companion являются альтернативой ключевому слову java static, и вы можете сделать класс или метод статическими, объявив их как объекты Companion. Вам не нужно квалифицировать объекты-компаньоны с именем класса, если вы вызываете их из одного класса.

Например:

class SomeClass() {

    val id: Int

    init {
       id = nextId++       
    }

    private companion object {
       var nextId = 1
    }
}

fun main(args: Array<String>) {
    repeat(2) { 
        println(SomeClass().id)
    }
} 
0
задан melodyscat 28 March 2019 в 14:32
поделиться