1.类修饰符
Java的类和方法默认是open的,而kotlin中默认都是final的。如果创建一个类的子类,需要使用open修饰符来标示这个类,此外还需要给每一个可以被重写的属性或方法添加open修饰符。
2.成员修饰符
3.访问权限修饰符
kotlin中访问权限修饰符与Java中的类似,同样可以使用 public, protected 和 private修饰符。但是默认的访问权限是不一样的,Java中如果省略了修饰符,默认的是public的。kotlin提供了一个新的修饰符internal,表示“只在模块内部可见”。一个模块就是一组一起编译的kotlin文件,例如,一个IntelliJ IDEA模块,一个Maven工程,或Gradle工程,通过Ant 任务的一次调用编译的一组文件等)可访问。internal可见性的优势在于它提供了对模块实现细节的真正封装。
4.泛型修饰符
5.定义不可为空类型 变量不能接受空值
var nonNull:String ="Hello"
nonNull =null //不可空类型,不能赋值为空
6.定义变量可以为空,变量可以接受空值
var nullable:String ="Hello"
nullable //可空类型
7.讲解 ?= ?. ?: 区别
var x:String?="abc" //声明一个变量可设置为null
var y:String? =null
var rr = y?.length //判空操作 如果Y为空返回null 否则返回y.length
var ll = y?.length ?:-1 //如果 ?: 左侧为空则返回右侧表达式,否则返回左侧 注:当且仅左侧为空,才会对右侧表达式求值
Log.e("====判断====",rr.toString()+"====判断===="+ll.toString()) //打印结果 null====判断====-1