1.Kotlin 与 Android
2.Kotlin 语法差异
变量与常量:
首先,观察Kotlin可发现其每行结束没有;
此外,Kotlin与Java的最直观差异为数据定义不同:
Java在数据定义上时候用数据类型 数据名称的形式完成,而Kotlin在定义时仅使用val 和var来进行变量和常量的区分,而变量和常量的数据类型则通过Kotlin的自动匹配机制来完成。
而其自动匹配机制实现的基础便是Kotlin使用对象数据类型来实现各种数据类型定义。
val(value):常量关键字,等同于Java中final,用val修饰的对象需要在初始化是进行数据定义,且后续无法对其进行修改。 其出现原因是由于Java中没有主动在应添加final的位置使用修饰符,从而导致可能产生一些难以排查的问题。
var(variable):变量关键字,等同于常规Java中关键字,推荐使用方式为:优先使用val,在确定要进行数据变化时再使用var。
函数fun:Kotlin在函数定义时,会在开始时使用fun 关键字进行生命,而后则是函数名、函数参数及返回值类型,随即为函数体。
switch --> when : Kotlin中对for 及when的逻辑进行了优化,其中for采用类似python的for(i in xxx)及for (…) 方式实现,switch/case采用新型when方式进行,其中 when可看做switch,后续例子如下:
从示例可看出存在多重简化方式
子类与接口:
Kotlin的负累继承及接口实现采用统一的“:,“方式实现。其与Java相同,最多只能继承单一父类,可同时实现多个接口,继承父类时要设定子类构造时调用的父类构造函数;此外,子类的所有构造函数需要直接或间接调用其主构造函数。
单例模式:
Kotlin的单例模式实现较Java更加简单,将 class 替换为object 即可