Как объявить статическую переменную?

Нужно, чтобы переменная была доступна не только в рамках данного метода, чтобы она была доступна для всех методов и жила вместе с классом.


Ответы (1 шт):

Автор решения: Eugene Krivenja

Эквивалент static в Java в Котлине это companion object.

class MyClass { 
  companion object {
    val info = "This is info"    
    fun getMoreInfo():String { return "This is more fun" }
  } 
}

MyClass.info             // This is info
MyClass.getMoreInfo()    // This is more fun

Но правильнее использовать глобальные (top level) переменные, если возможно.
https://discuss.kotlinlang.org/t/what-is-the-advantage-of-companion-object-vs-static-keyword/4034

→ Ссылка