Kotlin - 内部类

Kotlin - 内部类 首页 / Kotlin入门教程 / Kotlin - 内部类

嵌套类

嵌套类就是在另一个类内部创建的类。在Kotlin中,嵌套类默认情况下是静态的,因此无需创建类的对象即可访问其数据成员和成员函数。嵌套类无法访问外部类的数据成员。

class outerClass{
   //外部类代码
    class nestedClass{
      //嵌套类代码
    }
}

嵌套类示例

class outerClass{
    private var name: String = "Ashu"
    class nestedClass{
        var description: String = "code inside nested class"
        private var id: Int = 101
        fun foo(){
         // print("name is ${name}")//不能访问外部类成员
           println("Id is ${id}")
        }
    }
}
fun main(args: Array<String>){
     // 嵌套类必须初始化
     println(outerClass.nestedClass().description)//访问属性
     var obj = outerClass.nestedClass()//对象创建
     obj.foo()//访问成员函数
}

输出:

code inside nested class
Id is 101

内部类

内部类是在另一个具有关键字inner的类中创建的类。换句话说,无涯教程可以说标记为“内部”的嵌套类称为内部类。

内部类不能在接口内部或非内部嵌套类中声明。

class outerClass{
   //外部类代码
    inner class innerClass{
      //嵌套类代码
    }
}

内部类优于嵌套类的优点是,即使它是私有的,它也可以访问外部类的成员。内部类保留对外部类对象的引用。

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-nested-class-and-inner-class.html

来源:LearnFk无涯教程网

内部类示例

class outerClass{
     private  var name: String = "Ashu"
     inner class  innerClass{
       var description: String = "code inside inner class"
       private var id: Int = 101
       fun foo(){
        println("name is ${name}")//访问外部类成员甚至私有
        println("Id is ${id}")
       }
    }
}
fun main(args: Array<String>){
    println(outerClass().innerClass().description)//访问属性
    var obj = outerClass().innerClass()//对象创建
    obj.foo()//访问成员函数

}

输出:

code inside inner class
name is Ashu
Id is 101

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开发一款iOS App -〔朱德权〕

研发效率破局之道 -〔葛俊〕

图解 Google V8 -〔李兵〕

系统性能调优必知必会 -〔陶辉〕

OAuth 2.0实战课 -〔王新栋〕

性能优化高手课 -〔尉刚强〕

说透元宇宙 -〔方军〕

现代C++20实战高手课 -〔卢誉声〕

结构执行力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)