kotlin 内部类调用类的方法
时间: 2023-08-10 18:02:22 浏览: 144
在 Kotlin 中,内部类默认是静态嵌套类,因此不能直接访问外部类的成员变量和方法。如果你需要在内部类中访问外部类的方法,你可以使用 `inner` 关键字将内部类声明为非静态嵌套类。这样,内部类就可以直接访问外部类的成员变量和方法了。
以下是一个示例代码,演示了如何在内部类中调用外部类的方法:
```kotlin
class OuterClass {
private val outerVar = "Outer variable"
inner class InnerClass {
fun innerMethod() {
println("Accessing outer variable: $outerVar")
outerMethod()
}
}
fun outerMethod() {
println("Outer method")
}
}
fun main() {
val outer = OuterClass()
val inner = outer.InnerClass()
inner.innerMethod()
}
```
在这个示例中,`InnerClass` 声明为 `inner` 类型,因此可以访问 `OuterClass` 的成员变量和方法。`innerMethod()` 方法可以访问 `outerVar` 变量,并调用 `outerMethod()` 方法。在 `main()` 函数中,我们创建了一个 `OuterClass` 实例和一个 `InnerClass` 实例,并调用了 `innerMethod()` 方法。输出结果为:
```
Accessing outer variable: Outer variable
Outer method
```
阅读全文