美文网首页
关于kotlin构造器只读这一篇就够了,constructor

关于kotlin构造器只读这一篇就够了,constructor

作者: 蹦蹦跳跳猪猪侠 | 来源:发表于2020-09-16 16:16 被阅读0次

    kotlin的构造器和java的有很大不同,第一次上手可能会使很多小伙伴懵逼,
    那就花15分钟读这篇文章,弄清楚kotlin构造器吧

    导读
    1.主次构造的区别
    2.主次构造的关系
    3.继承
    4.init方法

    1.主次构造的区别

    主构造方法就是直接跟在类名后面的,最多1个,可以没有:

    class AAA()//对,你没看错“()”就是构造方法
    

    次构造方法声明在类内,可以有多个,也可以没有:

    calss BBB{//主构造方法没有声明
       constructor(){//声明了一个次构造器
       }
    }
    

    如果主构造和次构造都没有,类还是会默认有一个无参构造方法

    2.主次构造关系

    如果有主构造方法,
    则次构造方法必须调用主构造方法,使用this关键字,
    例如:

    class AAA(){//“()”就是主构造方法
        constructor(s:String):this(){//必须使用this调用主构造方法
        }
    }
    

    对于一个同时有主,次构造方法的类内,
    主构造方法一定是参数最少的构造方法

    3.继承

    假设有类AAA:

    class AAA(val s:String)//没有无参构造方法
    

    任何类继承自AAA时,必须调用AAA的构造方法,
    调用方式1:

    class BBB(s:String) : AAA(s)
    

    调用方式2:

    calss BBB : AAA{
       constructor(s:String) : super(s) {//使用": super(s)"调用父类构造方法
       }
    }
    

    4.init方法

    不管是什么构造方法,先执行init{},后执行构造方法的逻辑,
    注意,在主构造声明的参数可以在init{}中调用,次构造的不能。

    kotlin的主次构造设计是为了减少代码而复杂规则,有舍有得,
    相比之下,我还是更喜欢java的构造器,无论是写法还是思想,都简单明了,蕴含美感。

    end

    如果你觉得这篇文章对你有所帮助,不妨点一个赞,作者会非常高兴的。

    相关文章

      网友评论

          本文标题:关于kotlin构造器只读这一篇就够了,constructor

          本文链接:https://www.haomeiwen.com/subject/snvcyktx.html