如何从 Kotlin 的内部类访问外部类的成员?
Posted
技术标签:
【中文标题】如何从 Kotlin 的内部类访问外部类的成员?【英文标题】:how to access member of outer class from inner class in 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 中它们不是。
【参考方案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)
【讨论】:
以上是关于如何从 Kotlin 的内部类访问外部类的成员?的主要内容,如果未能解决你的问题,请参考以下文章