Kotlin学习笔记
文章平均质量分 89
以阅读书籍Kotlin编程实战为主体总结笔记
Tai_Monster
蟹bro From 3G . XUPT 通工21级 擅长手机贴膜。是邮电只狼desu
展开
-
设计模式:享元模式
首先我们需要简单了解一下什么是享元模式。:主要用于减少创建对象的数量,以减少内存占用和提高性能。享元模式的重点就在这个享字,通过一些共享技术来减少对象的创建,实际上Java中String值的存储,Volley中的也使用到了享元模式,这对提高性能很有用。感觉目前大部分的缓存机制都会用到享元模式。原创 2023-09-11 16:00:53 · 334 阅读 · 0 评论 -
Kotlin开发笔记:协程基础
一般来说,我们的函数总是会有一个入口和一个出口。但是协程不同,虽然协程也是函数,但是协程有多个函数的入口,且其会记忆之前调用的状态,并且对协程的调用可以直接跳转到协程的中间,即它在上一次中断的地方。比如说上面这张图,白色的圆点代表的是函数的中断,箭头代表恢复函数的运行。通过两个函数的协作,这显然可以达到并发执行的效果,执行流也在它们之间进行切换。首先,生产者协程调用消费者协程。在执行部分代码之后,消费者保存其当前状态,并返回或让步给调用方。生产者执行更多的步骤,并回调给消费者。原创 2023-08-27 14:17:12 · 354 阅读 · 2 评论 -
Kotlin开发笔记:拓展函数,属性注入以及一些小技巧
本篇文章是全书第12章,关于Kotlin的流畅性的笔记。本章内容比较杂,主要是涉及到使用Kotlin编写出质量更好的代码。本文将介绍Kotlin的拓展函数,属性注入以及一些使用kotlin编程的小技巧🐤。原创 2023-08-22 21:16:02 · 132 阅读 · 0 评论 -
Kotlin开发笔记:函数式编程
简单来说,我们之前接触到的编程的主流就是命令式编程,我们需要告诉计算机做什么和如何做。而函数式编程的意思就是我们只需要告诉计算机我们想做什么,计算机会帮助我们实现如何做。我们可以看看维基百科的介绍:>在函数式编程中,函数是头等对象即头等函数,这意味着一个函数,既可以作为其它函数的输入参数值,也可以从函数中返回值,被修改或者被分配给一个变量。λ演算是这种范型最重要的基础,λ演算的函数可以接受函数作为输入参数和输出返回值。实际上就是让我们使用封装的函数来进行编程而不需要每时每刻都关心细节的实现,只有我们想原创 2023-08-20 11:18:15 · 236 阅读 · 0 评论 -
Kotlin开发笔记:集合和逆变协变
首先我们需要介绍逆变和协变的概念,协变和逆变都是术语,前者指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类型,后者指能够使用比原始指定的派生类型的派生程度更小(不太具体的)的类型。以我的理解,协变应该接近于extend,而逆变接近于super。默认情况下,在Java中泛型强制实行类型不变性–也就是说,如果泛型函数期望一个参数类型T,则不允许替换基类型T或者派生类型T,类型必须是完全预期的类型实际上,在Java中我也没有对通配符和一般的泛型T的区别和相同有什么很深的理解。我的理解是,通配符?原创 2023-08-18 23:08:13 · 231 阅读 · 0 评论 -
Kotlin开发笔记:使用委托进行拓展
在OO语言(面向对象)中,我们经常会用到委托或者代理的思想。委托和代理在乍一看很相似,其实其各有各的侧重点,这里我引用ChatGpt的回答:委托(Delegation)和代理(Proxy)虽然有相似之处,但在面向对象编程中有一些区别。虽然委托和代理在某些情况下可能会有重叠,但它们的是不同的。。在实际编程中,选择使用委托还是代理取决于具体的需求和设计目标。通过前面的介绍我们应该对代理和委托的概念和区别有了一定的认识。原创 2023-08-17 17:13:40 · 280 阅读 · 2 评论 -
Kotlin开发笔记:类层次结构和继承
与嵌套类不同,内部类的方法和成员的调用是依赖于外部类的实例的,也就是说,如果有一个内部类的实例那就必然有一个外部类的实例。而在Kotlin中没有明确的静态内部类的概念,取而代之的是嵌套类。在Kotlin中的继承是有一层额外的防御机制的,就如同变量要指定val还是var一样,Kotlin中的类也要指定是否可以被继承,一个类在默认情况下是不允许被继承的。我们先来介绍Kotlin中的嵌套类,Kotlin中的嵌套类类似于Java中的静态内部类,嵌套类和外部类的关系较为独立,大部分情况下没有耦合调用的情况。原创 2023-08-14 19:28:33 · 431 阅读 · 0 评论 -
Kotlin开发笔记:伴生对象和数据类
本章中我们主要介绍了伴生对象和数据类的相关内容。比较重要的就是伴生对象中的内容,主要是用来实现Java中类似于静态成员变量和方法的作用,但是伴生对象又不是简单的静态的。数据类是Kotlin中的一种特殊的模版类,可以方便地实现一些方法。原创 2023-07-20 14:48:40 · 151 阅读 · 2 评论 -
Kotlin开发笔记:外部迭代与参数匹配
在Kotlin中的迭代和Java中的比较大的区别可能就是Kotlin中新增了范围类,通过操作这些范围类我们就可以灵活地遍历了。除此之外,when语句也是kotlin中更加灵活的语句。合理地使用when语句可以大大简化我们的代码,提升简洁性。原创 2023-07-20 09:42:13 · 123 阅读 · 0 评论 -
Kotlin开发笔记:类型安全和转换
类型安全是编程中非常重要的内容,在实际编程中我们总是会遇到许许多多的空指针异常,类型错误等异常。因此解决好类型安全的问题可以大大提升程序的健壮性。同时Kotlin针对类型安全就引入了许多有用的机制,它将帮助我们走向防御型编程的道路。本篇文章就将介绍关于Kotlin类型安全的相关信息。原创 2023-07-18 12:59:26 · 420 阅读 · 0 评论 -
Kotlin开发笔记:类的创建,单例和匿名对象
*在次构造函数中,我们是不允许用val或者var修饰符来修饰传入的参数的,也就是说,在次构造函数中,我们不允许自动创建字段。这段代码先定义了一个成员变量address并先将其初始化为"",紧跟在后面的是它的set方法,定义一个变量的set或者get方法的格式就是紧跟在成员变量之后,用set代码块或者get代码块。在drawCircle方法中,我们通过object关键字生成了一个匿名类,该匿名类拥有x,y,radius三个成员变量,在这个方法中可以访问匿名类的字段。init块的执行顺序是自上而下的。原创 2023-04-18 20:52:27 · 785 阅读 · 0 评论 -
Kotlin开发笔记:使用函数
Kotlin中的函数以fun关键字为前缀,然后紧跟函数名,参数列表,返回值类型,函数体。参数列表可以为空,若无返回值或者函数体是一个表达式,那个返回值类型也可以省略。原创 2023-03-19 19:14:28 · 118 阅读 · 1 评论 -
Kotlin学习笔记:基础内容
Kotlin中定义变量是采取 可变类型 参数名:参数类型的格式的。由于有更加智能的类型推导,Kotlin可能并不会在你定义变量时强制你显式地写出变量类型,但是你必须指定该变量是可变变量还是不可变变量。原创 2023-03-13 19:31:45 · 112 阅读 · 0 评论