By
using companion object, you can access the members using the class name (no
need to define the object).
HelloWorld.kt
class TestClass { companion object { fun sayHello() { println("Hello") } } } fun main(args: Array<String>) { TestClass.sayHello() }
Output
Hello
As
you see above code snippet, I called sayHello function of companion object
using TestClass (not created any object to TestClass).
You
can give name to companion object.
companion object FunModules {
fun sayHello() {
println("Hello")
}
}
HelloWorld.kt
class TestClass { companion object FunModules { fun sayHello() { println("Hello") } } } fun main(args: Array<String>) { TestClass.sayHello() }
Output
Hello
By
adding @JvmStatic annotation on top of companion object, you can use it as
static member in any java class.
HelloWorld.kt
import kotlin.jvm.JvmStatic class TestClass { companion object { @JvmStatic fun sayHello() { println("Hello") } } }
CompanionDemo.java
public class CompanionDemo { public static void main(String args[]){ TestClass.sayHello(); } }
Output
Hello
No comments:
Post a Comment