【问题标题】:Static Inner Class in KotlinKotlin 中的静态内部类
【发布时间】:2018-08-28 01:00:03
【问题描述】:

如果存在的话,我可以在 Kotlin 语言中使用 Inner static Class 的替代品吗?如果没有,当我需要在 Kotlin 中使用 static class 时,我该如何解决这个问题?请参见下面的代码示例:

 inner class GeoTask : AsyncTask<Util, Util, Unit>() {

    override fun doInBackground(vararg p0: Util?) {

        LocationUtil(this@DisplayMembers).startLocationUpdates()
    }
}

我找了很多,没有找到任何东西,提前非常感谢你。

【问题讨论】:

  • 你需要什么替代for?什么不起作用?
  • 在我的问题的这段代码中,出现问题(内存泄漏)是因为我使用 asynTask 包含(上下文)活动,android studio 建议我使用(内部静态类)

标签: java class static kotlin


【解决方案1】:

你也可以把“类”改成“对象”

class OuterA {
  object InnerB {
  ... }
}

object OuterA {
  object InnerB {
  ... }
}

【讨论】:

    【解决方案2】:

    只需在 Kotlin 中省略 inner

    内部类(持有对外部对象的引用)

    Java:

    class A {
        class B {
        ...
        }
    }
    

    科特林:

    class A {
        inner class B {
        ...
        }
    }
    

    静态内部类又名嵌套类(不引用外部对象)

    Java:

    class A {
        static class B {
        ...
        }
    }
    

    科特林:

    class A {
        class B {
        ...
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 2011-05-10
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2013-07-05
      相关资源
      最近更新 更多