Kotlin开发之——伴生对象

前言

伴生对象又叫同伴对象(Companion Object);
Kotlin没有静态方法(static method),可以使用同伴对象替代。
如果在类中声明了一个同伴对象,那么只需要使用类名就可以调用同伴对象的成员了。

示例

作为工具类

class Util 
{
    companion object 
    {
        val element: String = "HelloWorld"
        fun sayHello() 
        {
            System.out.println(element)
        }
    }
}

class Main 
{
    init 
    {
        System.out.println(Util.element)
        Util.sayHello()
    }
}
fun main(args:Array<String>)
{
       Main()
}

输出结果:

HelloWorld
HelloWorld

作为成员

fun main(args: Array<String>) 
{
    Test.instance.test()
    Test.test1()
}
class  Test
 {
    fun test()
 	{
        println("伴生对象的静态调用对象,通过对象再调用方法")
     }
     companion object  Factory
    { // 伴生对象
        var instance =Test()
        fun  test1()
        {
            println("伴生对象的静态调用方法")
        }
    }
}

输出结果:

伴生对象的静态调用对象,通过对象再调用方法
伴生对象的静态调用方法