Kotlin之内部类和嵌套类

1、内部类

代码实现身体解构,模拟内部类逻辑
内部类需要用 inner 关键字修饰

class Body(_bodyInfo:String){

    val bodyInfo=_bodyInfo

    //外部类能访问内部类
    fun showInfo(){
        Heart().run()
    }

    //默认情况下:内部的类不能访问外部类,需要增加inner修饰符成为内部类才可以访问外部类
    inner class Heart{
        fun run(){
            println("心脏访问身体信息:$bodyInfo")
        }
    }


    inner class Kidney{
        //肾脏
        fun run(){
            println("肾脏访问身体信息:$bodyInfo")
        }
    }

    inner class Hand{
        inner class leftHand{
            //左手
            fun toLeft(){
                println("左手访问身体信息:$bodyInfo")
            }
        }

        inner class rightHand{
            //右手
            fun toRight(){
                println("右手访问身体信息:$bodyInfo")
            }
        }
    }

}

2、内部类特点

  • 内部的类能访问外部类
  • 外部类也能访问内部类

3、内部类调用

//内部类调用
Body("Hello").Heart().run()
Body("Hello").Hand().leftHand().toLeft()

输出

心脏访问身体信息:Hello
左手访问身体信息:Hello

4、嵌套类

Kotlin中如果没有关键字修饰,那么默认就是嵌套类

class Outer(_info:String){
    val info="嵌套类信息"
    val info2=_info

    fun showInfo(){
        Nested().run()
    }

    class Nested{
        fun run(){
            println("嵌套类,run信息")
        }
    }
}

5、嵌套类特点

  • 内部的类不能访问外部的类
  • 外部类能访问内部嵌套类

6、嵌套类调用

//嵌套类调用
Outer.Nested().run()

输出

嵌套类,run信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值