首页 > 解决方案 > 扩展接口时,我们应该使用object关键字吗?

问题描述

我有两段不同的代码。在一个我需要使用对象,而在第二个我不是。有人可以解释一下情况之间的区别:第一个代码:

   private val onInitWebResponseHandler: VolleyHandler.WebResponseHandler = VolleyHandler.WebResponseHandler()
{
    Thread(ParseJsonStringOnInit(WeakReference(this),
            weakRefIOnAllScoresDataFirstFetched, it)).start()

}

第二个代码:

val competitionOrderLevelComparator : Comparator<CompetitionObj> = object : Comparator<CompetitionObj> {
    override fun compare(object1: CompetitionObj, object2: CompetitionObj): Int
    {
        return object1.orderLevel - object2.orderLevel
    }

}


      fun interface  WebResponseHandler
{
    fun onWebResponseFinished(jsonString:String?)
}

另外第一个代码,如果接口没有构造函数,我们可以有()括号吗?

标签: objectkotlininterface

解决方案


推荐阅读