小言_互联网的博客

Kotlin伴生对象

497人阅读  评论(0)

伴生对象:必须声明在某个类中。
每个类可以对应一个半生对象,伴生对象的成员全局独一份,伴生对象类似java中的静态成员。

(1)应用一

例子:
java中我们可以通过StringUtil.isEmpty()的方式直接调用如下代码

public class StringUtil {
    public static boolean isEmpty(String str){
        return "".equals(str)
    }
}

在kotlin中如果我们想直接调用某个方法可以添加@JvmStatic注解也可以使用companion伴生对象,如果想直接使用一个属性,使用@JvmField

class StringUtils{
    companion object {
        fun isEmpty(str:String):Boolean{
            return "".equals(str)
        }
    }
}

kotlin中调用方式

class Tests {
    fun main(arg: ArrayList<String>) {
        StringUtils.isEmpty("")
    }
}

java中调用kotlin的方式

   StringUtils.Companion.isEmpty("");

(2)应用二

单例模式

class Single private constructor(){
    companion object {
        fun get():Single{
            return Holder.instance
        }
    }
    private object Holder{
        val  instance=Single()
    }
}

转载:https://blog.csdn.net/danfengw/article/details/100621766
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场