Kotlin嵌套类和内部类
- IT业界
- 2025-09-20 05:03:02

在Kotlin中,嵌套类(Nested Class)和内部类(Inner Class)是两种不同的类,它们在定义和使用上有一些区别。
1.嵌套类(Nested Classes)默认是静态的(即等同于Java中的static),可以有修饰符(如private、protected),不持有外部类的引用,不能访问外部类的成员。 2.内部类(Inner Classes)持有外部类的引用,可以访问外部类的私有成员
使用区别:嵌套类则更多地用于创建独立的、不需要访问外部类成员的类,而内部类经常用于定义在某个类的作用域内,只为外部类服务的类。
代码举例:
class Outer{ class MyNested{//嵌套类 fun printMessage(){ println("这是一个嵌套类") // println("外部类属性:${this@Outer.name}")//报错,嵌套类不持有外部类的引用,不能访问外部类成员 } } var name = "外部类" } class Outer2{ inner class MyInner{//内部类 用inner修饰类 fun printMessage(){ println("这是一个内部类") println("外部类属性:${this@Outer2.name}") //不报错,内部类可以访问外部类成员 } } var name="外部类" } fun main() { //嵌套类 val nested = Outer.MyNested() nested.printMessage() //内部类 val inner = Outer2().MyInner() inner.printMessage() }Kotlin嵌套类和内部类由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Kotlin嵌套类和内部类”