发表日期: 2022-09-24 11:45:38 浏览次数:135
书生商友信息科技专注于提供一站式建站服务,企业建站、电脑站、手机站、微信站、域名邮箱、400电话、淘宝装修、网站推广,【网站定制】网站建设推广,网络SEO优化。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)。
玉环网页制作
fun Any?.toString(): String { if (this == null) return "null" // 空检测之后,“this”会自动转换为非空类型,所以下面的 toString() // 解析为 Any 类的成员函数 return toString()}fun main(arg:Array<String>){ var t = null println(t.toString())}
实例执行输出结果为:
null
扩展属性
除了函数,Kotlin 也支持属性对属性进行扩展:
val <T> List<T>.lastIndex: Int get() = size - 1
扩展属性允许定义在类或者kotlin文件中,不允许定义在函数中。初始化属性因为属性没有后端字段(backing field),所以不允许被初始化,只能由显式提供的 getter/setter 定义。
val Foo.bar = 1 // 错误:扩展属性不能有初始化器
扩展属性只能被声明为 val。
如果一个类定义有一个伴生对象 ,你也可以为伴生对象定义扩展函数和属性。
伴生对象通过"类名."形式调用伴生对象,伴生对象声明的扩展函数,通过用类名限定符来调用:
class MyClass { companion object { } // 将被称为 "Companion"}fun MyClass.Companion.foo() { println("伴随对象的扩展函数")}val MyClass.Companion.no: Int get() = 10fun main(args: Array<String>) { println("no:${MyClass.no}") MyClass.foo()}
实例执行输出结果为:
no:10伴随对象的扩展函数
通常扩展函数或属性定义在顶级包下:
package foo.bar fun Baz.goo() { …… }
要使用所定义包之外的一个扩展, 通过import导入扩展的函数名进行使用:
客户对我们的评价:作为网络负责人,与贵公司合作已经有8年了。贵公司服务还是非常不错的,有问题会及时解决。域名、网站、邮箱、推广服务都是他们负责的,也比较省心。网站建设
各行业案例推荐!客户由老客户介绍或自主联系我们!
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)。
备案号: 苏ICP备11067224号-5
CopyRight © 2021 通陆科技 All Right Reserved 未经许可不得复制转载
友情链接:苏州贷款 武汉殡葬服务
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.net 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
全国服务热线:400-111-6878