本文概述
- Kotlin嵌套课程
- 科特林内层阶级
class outerClass{//outer class codeclass nestedClass{//nested class code}}
Kotlin嵌套类示例
class outerClass{private var name: String = "Ashu"class nestedClass{var description: String = "code inside nested class"private var id: Int = 101fun foo(){//print("name is ${name}") // cannot access the outer class memberprintln("Id is ${id}")}}}fun main(args: Array<
String>
){// nested class must be initializeprintln(outerClass.nestedClass().description) // accessing propertyvar obj = outerClass.nestedClass() // object creationobj.foo() // access member function}
输出:
code inside nested classId is 101
科特林内层阶级内部类是在另一个类中使用关键字inner创建的类。换句话说, 我们可以说标记为“内部”的嵌套类称为内部类。
内部类不能在接口内部或非内部嵌套类中声明。
class outerClass{//outer class codeinner class innerClass{//nested class code}}
内部类优于嵌套类的优点是, 即使它是私有的, 它也能够访问外部类的成员。内部类保留对外部类对象的引用。
科特林内层阶级的例子
class outerClass{privatevar name: String = "Ashu"inner classinnerClass{var description: String = "code inside inner class"private var id: Int = 101fun foo(){println("name is ${name}") // access the outer class member even privateprintln("Id is ${id}")}}}fun main(args: Array<
String>
){println(outerClass().innerClass().description) // accessing propertyvar obj = outerClass().innerClass() // object creationobj.foo() // access member function}
【Kotlin嵌套类和内部类】输出:
code inside inner classname is AshuId is 101
推荐阅读
- Kotlin嵌套try-catch块
- Kotlin MutableSet接口
- Kotlin MutableMap接口
- Kotlin MutableList(mutableListOf())
- Kotlin可变数组
- Kotlin多重捕获块
- Kotlin map接口
- Kotlin列表接口
- Kotlin Lambda函数