一. 构造方法和继承细节
/** * Created by Administrator on 2018/5/17. * * q1:构造方法在类声明的时候书写的, 可以提升成属性 ,系统默认有一个空构造方法,如果传递的参数,空参数构造方法就没有了 * * q2:构造方法的方法体在哪里写?init{}方法中就是构造方法的方法体 * * q3:构造方法的方法体子类默认会先去执行父类的方法的 * * q4:构造方法怎么创建多个重载 https://blog.csdn.net/jhj_24/article/details/53897678
* q5:父类要有open或者abstract关键字才能去继承
*
* q6:父类方法也要有open关键字,子类才能去重写
*
* q7:open关键字和private关键字不能一起修饰一个方法
*
* q8:重写父类方法,怎么还能调用父类的方法 super关键字
*
*/
open class Father(action: String) {
init { Log.e(
"rrrr",
"Father") }}
class Son(action: String) : Father(action) {
init { Log.e("rrrr", "Son") } }
二,继承,多态和接口和java一样,如果有继承,再去实现接口用,去表示 如果只有实现接口用:去表示
三,代理和委托( 关键字by)
类A实现接口C,类B也去实现接口C,接口定义一个方法,A和B都是同样的实现,就可以在A的类中去by一下B类,而不用去实现这个接口方法,
也可以去实现这个方法,然后去调用类B中的方法,类似java中的包装者模式
四,单例模式:
使用关键是object,这个类就是单例模式
object aaa { }
五,印章类 Sealed关键字,限定子类有有限类