1.继承与重写的Open关键字

open class Product(
val name:String
) {
fun description() = "Product: $name"
open fun load() = "Nothing .."
}
class LuxuryProduct:Product("Luxury"){//继承需要调用 父类的主构造函数
override fun load(): String {
return "LuxuryProduct loading ..."
}
}
fun main() {
val p:Product = LuxuryProduct()
println(p.load())
}
2.类型检测

3.智能类型转化
import java.io.File
open class Product(
val name:String
) {
fun description() = "Product: $name"
open fun load() = "Nothing .."
}
class LuxuryProduct:Product("Luxury"){//继承需要调用 父类的主构造函数
override fun load(): String {
return "LuxuryProduct loading ..."
}
fun special():String = "Speical LuxuryProduct Function"
}
fun main() {
val p:Product = LuxuryProduct()
println(p.load())
println(p is Product)
println(p is LuxuryProduct)
println(p is File)
if (p is LuxuryProduct){
p.special()
}
}
4. Any 超类

跨平台支持得更好,他的Any类里的 toString hashcode equals 在不同平台有不同的实现,是为了更好的跨平台支持。
5. 对象


5.1 object关键字 单例模式
object App


最低0.47元/天 解锁文章
2719

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



