首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android进阶】kotlin 委托

    Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。...val/var : by var/val:属性类型(可变/只读) 属性名:属性名称 类型:属性的数据类型 表达式:委托代理类 by 关键字之后的表达式就是委托, 属性的 get...延迟属性 Lazy lazy() 是一个函数, 接受一个 Lambda 表达式作为参数, 返回一个 Lazy 实例的函数,返回的实例可以作为实现延迟属性的委托: 第一次调用 get() 会执行已传递给...lazy() 的 lamda 表达式并记录结果, 后续调用 get() 只是返回记录的结果。...翻译规则在每个委托属性的实现的背后,Kotlin 编译器都会生成辅助属性并委托给它。

    76220

    Getting started with Kotlin on Android

    摘要 Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrain设计开发并开源,与Java相比,Kotlin的语法更简洁,更具表达性,而且提供了更多的特性。...两位ThoughtWorks高级咨询师共同为我们分享Kotlin在Android上的运用。 ? Java VS Kotlin 在Java的使用中会遇到很多问题。...在Kotlin里数组默认不是协变的。 ? 对于不可变集合是默认协变,可变集合默认是逆变的。 总结一下 Kotlin提供了高级的语法,例如data、object等。...Kotlin in Android 在Android上有一个常见的类叫做viewholder。 ? Kotlin在Android上可以自动把view找出来,不需要手写代码。...Kotlin's Reference 引入Kotlin ? 已知问题 Kotlin与mockito的兼容性。 在Kotlin里的静态代码检查工具还不完善。

    88150

    【Android进阶】Kotlin笔记

    Kotlin默认支持委托,不像Java,要么用IDE生成一大堆代码,要么在编译期使用其他动态代理工具生成,Kotlin默认提供了by关键字。...lazy { "HelloWorld" } println(name) } 这一次我们提供了一个lazy方法,Lazy方法会返回我们的委托人LazyDelegate,因为Kotlin...官方就为一些自带的委托封装了方法,可能是Kotlin社区惯用的编码规范,确实,这样好看一些,而且Jetpack Compose中的remember实际上也是这样写的。...Kotlin根本没有静态这一说,Kotlin代替静态的办法一个是object,一个是顶层函数。但这俩都不适用于静态工厂,因为静态工厂经常要访问类中的私有成员。 伴生对象是用来干这些的。...但是,别忘了Kotlin中的命名参数,上面的例子本可以用命名参数更加方便的解决。 class Person constructor( name: String, age: Int?

    94320
    领券