kotlin内部类与嵌套类
简单的说,kotlin嵌套类相当于java的静态内部类,kotlin内部类相当于java普通内部类。
class OutClass {
val ocval = "一个外部类变量值"
//嵌套类,相当于Java的静态内部类
class NestedClass {
fun test1() = "嵌套内部类函数"
//错误,编译无法通过
//fun test2() = "嵌套内部类引用外部类变量$ocval"
}
//普通内部类
inner class InnerClass {
fun test1() = "内部类引用外部类变量$ocval"
}
}
fun main(args: Array<String>) {
println(OutClass.NestedClass().test1())
var ic = OutClass().InnerClass()
println(ic.test1())
}
输出: