【问题标题】:how to access member of outer class from inner class in Kotlin?如何从 Kotlin 的内部类访问外部类的成员?
【发布时间】:2019-09-03 02:21:47
【问题描述】:

如何从kotlin内部类的成员函数中访问外部类的成员。考虑以下代码。

class A{
    var name: String

    class B{
        fun show(){
            print(name)          //<----- here ide shows error. name is not accessible
        }
    }
}

我正在 android studio 中编写此代码。它在用 java 编写时可以工作,但在我们用 kotlin 编写代码时就不行。

【问题讨论】:

  • 将其设为内部变量。
  • B 不是标题中的 child 类或子类,它是一个 nested 类。在 Java 中,嵌套类默认是内部的;在 Kotlin 中它们不是。

标签: android kotlin kotlin-android-extensions


【解决方案1】:

你应该将class B标记为inner

class A{
  var name: String

  inner class B{
    fun show(){
      print(name)
    }
  }
}

【讨论】:

    【解决方案2】:

    这样使用

    class A{
    lateinit var name: String
    
    inner class B{
        fun show(){
            print(name)
        }
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-26
      • 2013-10-21
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      相关资源
      最近更新 更多