快速上手 Kotlin 开发
张涛
“开源实验室”博主,资深 Android 开发工程师
23083 人已学习
新⼈⾸单¥59
课程目录
已完结/共 50 讲
第四章 :团队协作篇 (3讲)
快速上手 Kotlin 开发
登录|注册
留言
11
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 11 | by关键字的使用
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 讲给你的 Kotlin 快速上手课程
02 | Kotlin 最基础语法
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
04 | 新手使用 Kotlin 常碰到的问题
05 | 函数也能嵌套?这个特性要注意
06 | 用扩展函数简化代码调用
07 | DSL的基础 : Lambda闭包的语法
08 | 函数的参数是函数 : 高阶函数的注意事项
09 | 创建对象的关键 : Kotlin的构造函数
10 | 伴生对象 : Kotlin 特有的单例对象
11 | by关键字的使用
12 | Kotlin 独有的特殊类
13 | 解构 : 特殊的数据拆箱方式
14 | Kotlin 的循环语法
15 | Kotlin海量的集合操作符
16 | 作用域函数 : 你会爱上的自带函数
17 | 运算符与中缀 : 定义你的专有运算符
18 | 神奇的符号 : Kotlin 的反引号
19 | DSL 是什么,原来早就用过了
20 | 构建 DSL 的常用方式
21 | 定义自己的 DSL
22 | 理解 Kotlin 中的常量与只读
23 | Kotlin 的空安全是如何实现的
24 | Kotlin 内联 : noinline与crossinline
25 | Kotlin 的真泛型与实现方式
26 | 协程 : 提升性能的利器
27 | 在Kotlin 中使用协程
28 | 协程的启动参数
29 | 协程的语法糖
30 | suspend : 知其然知其所以然
31 | 协程的内部实现原理
32 | 动手设计Kotlin 协程的yield
33 | 协程通信:Channel的使用
34 | 小结 : 动手设计Channel版的EventBus
35 | NIO 与 BIO
36 | Kotlinx-io 的对象缓存池
37 | Google 推出 KTX 的目的
38 | KTX 的实现
39 | KTX 小结
40 | 在团队中使用 Kotlin
41 | 用 Kotlin 改写现有工程
42 | 滥用特性的后果:没人懂的代码
43 | Kotlin 服务端开发框架
44 | Http Servlet 创建 Kotlin 版 Web 应用
45 | Spring Boot 创建 RESTful Web 服务
46 | Kotlin 开发 Web 前端
47 | Kotlin Native 开发
48 | 创建 Kotlin Native 基础库
49 | 如何用 Kotlin 实现 Android MVP
50 | Android MVP 的 Kotlin 代码&结课测试
本节摘要

源代码及 PDF 课件地址:

https://gitee.com/geektime-geekbang/KotlinPrimer

登录 后留言

全部留言(11)

  • 最新
  • 精选
刘建
应该是静态代理吧

作者回复: kotlin的动态代理最终会编译成静态代理

2018-08-13
5
书生依旧
这个肯定不是动态代理吧,应该叫做「委托模式」。 和 Activity onCreate 中的源码一样,先创建一个 Delegate,然后都用这个 Delegate 操作。

作者回复: 嗯,是的

2018-11-30
3
ForzaJuve
KOTLIN 中的data类不可以被继承,为什么这样设计呢?感觉javabean继承父类这种场景还是很多的吧

作者回复: data可以继承别的类的,如果你是一个可能被继承的javabean,那么至少证明他可以不是一个独立的数据字段吧。

2019-07-07
2
JAVA里的动态代理是这样的,上善若水 同学的问题是要这么解决的。在HalCtrlProxyHandler中的invoke方法里添加日志即可。这是Java在native层支持的动态代理。 //创建一个与代理对象相关联的InvocationHandler InvocationHandler stuHandler = new HalCtrlProxyHandler<>(ctrl); //创建一个代理对象stuProxy来代理,代理对象的每个执行方法都会替换执行Invocation中的invoke方法 return (IPrinter) Proxy.newProxyInstance(IPrinter.class.getClassLoader() , new Class<?>[]{IPrinter.class}, stuHandler);

作者回复: 很对👍

2018-09-22
2
上善若水
请问一下,这个感觉就是静态代理啊?假如有个需求,需要在方法调用前后加上日志,按视频里那么写的话,如果接口增加多几个方法,那这个动态代理类怎么做到不用重写所有的方法就能做到统一前后加上了日志呢?

作者回复: 这个确实没办法

2018-08-16
2
1
朱俊文
data class 有自动生成getter setter吗?怎么我在ide写的时候没有

作者回复: 反编译一下看看代码

2021-05-08
嘿嘿
这叫动态代理?
2018-09-03
8
风吹旧夏
这节课的精髓在于通过by这个关键字实现的代理 节省了很多的代码,而老师在讲课的时候一直说动态代理,以至于不注意都忽略了by这个关键字
2019-03-06
1
yalda
UP 主这个英文真的要好好校对一下;连看了很多集;好多单词要么读错了,要么读不准;这要是开语言。。。
2022-11-10
Jennifer Huang
by是对应 java里静态代理 模板代码的语法糖吧, 这不是静态代理吗? 为啥提的是动态代理。
2020-10-10
收起评论