上一期我们讲到了加载类的顺序和延时初始化,使用lateinit关键字来注明一个需要延时初始化的成员,那么我们在用到他的时候初始化就可以了,声明就不需要赋值,一般是在使用的时候再调用该成员的初始化方法,然后在使用该成员,这是手动的,我们也学习了自动的,就是程序会自己判断该成员是否初始化,如果有就不做处理,没有就调用初始化;类加载的顺序就是先从主构造开始,然后是一气呵成的参数,在就按照我们写代码的顺序初始化类成员和init代码,其实inti和其他的成员应该是同步的;
那么这一期我们来讲一下如何继承类,匿名创建和伴生对象的认识:
1、类的继承和open关键字
kotlin的继承关键字就是:(冒号)
//1.1 类的继承和open
/*
* 在kotlin中,类的继承跟Java很不一样,它使用的是:继承,
* 而且默认状态下类的作用域为public final,不支持继承,
* 所以我们要在类前面加上open表示剔除掉final;*/
val p: father = son("Jerry")
p.showresult()
//判断类型 is as
if(p is father){
//改变量为father然后调用里面的函数
(p as father).showresult()
}
if(p is son){
//改变量为son然后调用里面的函数
(p as son).showresult()
}
继承父类的时候在:后加上父类的实现就可以了;使用open可以将作用域中的final剔除掉,让类可以继承,

本文讲解了Kotlin中的类继承、open关键字、智能类型转换、超类与对象声明、对象表达式以及伴生对象的概念和使用。通过实例演示了如何重写父类方法、使用as关键字进行类型转换和理解伴生对象的单例特性。
最低0.47元/天 解锁文章
368

被折叠的 条评论
为什么被折叠?



