业务定义

  • 对于属性,我们可以读取(get)和赋值(set),在Java中会定义get和set方法来操作属性,Kotlin的属性建议直接操作,一些业务的要求会对属性有额外的功能需求,在Java中会在get和set中做逻辑去实现功能需求,kotlin叫做属性委托,单独承载这部分业务,由于set和get的代码复杂性太高了。
  • kotlin中独立定义了几个特定场景的委托,lazy,Observable,Vetoable这三种,lzay是针对get,后两种针对set方法的特定处理。
  • 也可以自定义委托,实现operator fun getValue/operator fun setValue方法即可,对应的接口是ReadOnlyProperty和ReadWriteProperty
  • 除了上述接口也可以委托提供operator fun provideDelegate方法的类

用于元编程

  • 元编程是一个重要的概念,使用编程语言创建编程语言的方法,jastadd就是一种java切面式元编程语言

最新文章

  1. Struts2 Validation学习
  2. java 线程安全 synchronized
  3. 修改Windows Server 2008+IIS 7+ASP.NET默认连接限制,支持海量并发连接数
  4. html之间的传值
  5. Silverlight中的TabControl如何绑定数据?重写tabcontrol和tabItem 解决绑定友好问题。可以绑定对象集合
  6. Python Django之路由系统
  7. HttpURLConnection请求网络数据
  8. android网络框架Retrofit 同步异步
  9. new 、operator new 和 placement new
  10. winfrom之动态控件生成以及保存动态空间的数据
  11. word2vec 入门(三)模型介绍
  12. nasm预处理器(1)
  13. C#利用NPOI操作Excel文件
  14. 非阻塞connect:Web客户程序
  15. Assets.car 解压工具 cartool 使用报错 segmentation fault cartool 解决方案
  16. HTML DOM 的nodeType属性
  17. 升讯威微信营销系统开发实践:所见即所得的微官网( 完整开源于 Github)
  18. Ubuntu快捷键、Ubuntu终端常用命令
  19. ado.net调用带参数的存储过程
  20. 15款css3鼠标悬停图片动画过渡特效

热门文章

  1. CSP2022 S游记
  2. CCRD_TOC_2008年第4期
  3. Angular 利用路由快照实现tab
  4. npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
  5. 四种语言刷算法之删除链表的倒数第 N 个结点
  6. 区块链leveldb数据库安装
  7. redis 5.0.5集群部署与服务器宕机故障模拟
  8. 数据每三位增加一个逗号(即千分符) js
  9. vmware网络连接
  10. Java面向对像之方法重写