扔物线kotlin基础总结

可以直接把函数申明在文件中

空安全设计

  • 声明变量类型后面加?表示可空类型: et_name: EditText? = null
  • java中也有不为空设定加上注解:@NonNull
  • 在调用可空类型函数时,!!.表示强行调用,如果对象是空,就会抛出null异常。?.会先判断是否为null,如果不为空才会调用该对象的函数。
  • 如果保证绝对不为null,肯定会初始化的时候,可以使用lateinit关键字,这样调用函数的时候也不用判断是否为null

javainstanceof关键字来判断类型,kotlin中使用is关键字来判断类型

kotlinas关键字完成强制转换

kotlin中获取类对象,使用::class来获取kotlin类对象,::class.java来获取java类对象。

构造方法

构造方法调用多参数构造方法

constructor(context: Context): this(context, null){
}

构造器继承父类方法

constructor(context: Context, attr: AttributeSet?): super(context, attr){
}

数组

声明数组

  • val codeList = arrayOf("1", "2")

    arrayof对于基本类型会有装箱操作,所以对性能和内存有开销,所幸kotlinintArrayof数组等。

集合

  • val list: MutableList<Int> = ArrayList()创建集合或者使用ArrayList创建,List<Int>创建的集合是不可修改的集合。也可直接使用:arrayListOf<>(), mutableListOf<>()

静态变量和函数

  • 直接在文件里直接定义的函数(不是在class文件里定义的函数)就是静态函数也叫顶级函数。

    kotlin中直接就可以调用,而在java中调用需要文件名加Kt然后调用方法,比如:UtilsKt.dp2px()

  • 当用object修饰一个类,那么这个类的所有方法和属性都是静态的。

    java调用时使用函数的时候需要使用类名.INSTANCE.函数。
    可以使用object来生成一个单例对象。

  • 伴生对象创建静态变量和函数:companion object{ }

    java使用这种方式调用函数时需要类名.Companion.函数方式调用

code in 200..299 表示code的值在200299之间包括200299

枚举类型enum class定义

java中匿名内部类引用外部类对象的时候使用:类名.this.属性。kotlinthis@类名.属性

内部类

  • kotlin中直接创建内部类就是静态内部类,普通内部类需要用到inner关键字。

    kotlin中如果不想其他的module可以访问当前mudule中的类,可以在类名前面加上internal关键字。

继承

kotlin中只有被abstractopeninterface修饰的关键字才可以被继承。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容