第一行代码笔记
文章平均质量分 61
U_yong
个人博客:https://www.boycharse.top
展开
-
Kotlin杂记之泛型和委托
前言本文是对《第一行代码》第三版第8章Kotlin部分的笔记Kotlin泛型和委托一、泛型定义一个泛型类:class MyClass<T> { fun method(param: T) : T { return param }}定义一个泛型方法:class MyClass{ fun <T> method(param: T): T { return param }}为泛型指定上界class MyClass { fun <T : Numb原创 2021-01-26 20:38:06 · 165 阅读 · 0 评论 -
Android广播机制
Android广播机制Android广播机制简介Android中的广播主要分为2种类型:标准广播和有序广播标准广播是一种完全异步执行的广播,在广播发出之后,所有的BroadcastReceiver几乎会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序。这种广播的效率会比较高,但同时意味着它是无法被截断的。有序广播是一种同步执行的广播,在广播发出之后,同一时刻只会有一个BroadcastReceiver能够收到这条广播消息,当这个BroadcastReceiver中的逻辑执行完毕后,广播才原创 2021-01-24 17:57:14 · 445 阅读 · 1 评论 -
Kotlin杂记之扩展函数和运算符重载
前言该文是《第一行代码》第三版第5章Kotlin部分的笔记,方便记忆以及日后复习扩展函数和运算符重载一、扩展函数(一)什么是扩展函数?扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。(二)语法结构定义扩展函数的语法结构:fun ClassName.methodName(param1: Int, param2: Int) : Int { return 0}相比于定义一个普通函数,定义扩展函数只需要在函数名的前面加上一个ClassName.的语法结构原创 2021-01-24 12:48:09 · 170 阅读 · 0 评论 -
kotlin杂记之延迟初始化和密封类
前言该博客是《第三行代码》第三版第4章Kotlin部分的笔记,方便记忆和复习Kotlin延迟初始化和密封类一、对变量延迟初始化如果类中存在很多全局变量实例,为了保证它们能够满足Kotlin的空指针检查语法标准,就必须做许多的非空判断才行,即使我们可以确保它不为空。class Test { private var adapter: MsgAdapter? = null override fun onCreate() { ··· adapter = MsgAdapter(msgList)原创 2021-01-22 20:20:08 · 234 阅读 · 1 评论 -
Kotlin杂记之标准函数和静态方法
前言该博客是《第一行代码》第三版第3章关于Kotlin部分的笔记Kotlin标准函数和静态方法一、标准函数with、run和apply(一)withwith函数接收2个参数:第一个参数可以是任意的对象,第二个参数是一个Lambda表达式。with函数会在Lambda表达式中提供第一个对象的上下文,并使用Lambda表达式中的最后一行代码作为返回值返回。示例代码如下:val result = with(obj) { // 这里是obj的上下文 "value" //with函数的返回值}原创 2021-01-21 21:00:58 · 119 阅读 · 0 评论 -
kotlin杂记(一)
前言该内容是对《第一行代码》第3版kotlin基础知识的总结kotlin基础知识一、变量和函数(一)变量val(value的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应java中的final变量。var(variable的简写)用来声明一个可变的变量,这种变量在初始赋值之后仍然可以再被重新赋值,对应java中的非final变量。kotlin拥有类型推导机制fun main() { val a = 10 println("a = " + a)}原创 2021-01-20 20:58:05 · 149 阅读 · 1 评论