When I was starting to write Kotlin code, and one problem I faced was how the heck do I do static methods like I can add in Java?
The solution… The companion object in your Kotlin class.
class MyClass() { companion object { fun myStaticMethod() { //Do Stuff Here } } }
Accessing this static method via Kotlin:
MyClass.myStaticMethod()
Accessing this static method via Java:
MyClass.Companion.myStaticMethod()
To avoid having to use the “.Companion” syntax, use the @JvmStatic annotation, allowing you to access the method without “.Companion”:
class MyClass() { companion object { @JvmStatic fun myStaticMethod() { //Do Stuff Here } } }
Accessing this static method via Java and @JvmStatic:
MyClass.myStaticMethod()