类中的成员必须初始化(没有修饰符默认public)
abstractclass SimpleClass( var x:Int):interface,SuperClass(){ //x为类的属性 接口的实现 类的继承
abstract fun fun1()
override fun toString(): String {//override实现覆写
return super.toString()
}
open fun fun2(){} //open才能被覆写
}
空类型安全
var a:String?="1"//有问号才能为空
a=null
var length=a!!.length//双感叹号 类型强转 length类型为int
var length=a?.length//length类型为int?
val length1=a.length?:0//elvis表达式 为空则返回0
String?是String的父类 空判断 无法判断平台类型数据
val ss:String?=null; //ss为String?
ss="joe"
if(ss!=null){
println(ss.length) //ss为String 智能类型转换
}
ss //ss为String?
(ss as? String)?.field //智能类型转换 无法转换返回null
本文深入探讨Kotlin中类的定义与使用,包括成员初始化、抽象类、接口实现、函数覆写及开放函数的概念。同时,讲解了空类型安全处理,如可空类型声明、类型强转、Elvis表达式等,帮助读者掌握Kotlin高级特性。

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



