Month: 2018年11月

kotlin 类的访问修饰符使用总结

在学习kotlin的过程总结了一下类的访问修饰符的用法,我把我的总结总结为一下几点 1. 默认定义声明的类是final的,这种类不能被集成重写,只能默认使用其成员。 例如 class Animated { var isAnimating:Boolean = false fun animate() { } } 那么如果想…

阅读全文 »
已阅读 167 次

kotlin学习之类委托

我刚看到这个词的时候感觉很蒙,没见过这样的叫法啊,类还叫委托,于是就研究了一会,这里说一下我自己对类委托的认识,我感觉类委托其实就是扩展了一个类型,为它能添加新的功能并且能不去继承这个类,从而不过多的重写方法, 只需要扩展自己需要添加功能的方法就行了。 例子 class ClassDelegate<T>(v…

阅读全文 »
已阅读 133 次

kotlin 学习之扩展函数

记得以前写swift的时候有扩展这么一个方式,就是可以通过写extension来给类扩展新的方法,在今天看kotlin扩展方法的部分,两种实现其实差不多。这里不对swift的扩展细说,具体写法可以自己参照网上的很多例子,下面我们来看kotlin的扩展和使用。 fun String.lastChar(): Char { …

阅读全文 »
已阅读 197 次

kotlin学习之顶层函数

像我们在做项目的过程中总会用到一些工具类,有的是处理字符串的有的是处理其他数据的,往往这些方法都不会写在某个功能模块的类里,而是写在单独的什么Util这些工具类中,往往这些方法或函数会声明成static的方法或函数,这样我们可以在处理相关数据的时候去直接不实例化而进行调用,那么在kotlin中有一种写法叫做顶层函数,这…

阅读全文 »
已阅读 363 次

kotlin学习定义方法的时候参数带默认值

在开发过程中我们会遇到很多种在类中方法的不同重载,有些方法的重载很多个参数,但在我们使用时候有些参数大部分情况是有默认值的,那么我们为什么不减少一些重载,给一些参数默认值,从而在使用时候选择性的传递参数。就像下面这段代码定义,我们就可以只传递第一个参数就可以完成调用,如果这样定义方法可以省去了很多重载 fun <…

阅读全文 »
已阅读 77 次

kotlin学习之匿名对象的使用

今天仍然在继续看kotlin的内容,突然发现kotlin中匿名对象的使用,刚开始看着有点晕乎但后来发现其实看明白怎么回事就行了,下面总结一下用法。 匿名对象只能用在本地或私有作用域下,如果匿名对象用作共有函数的返回值或用做公有属性那么该函数或公有属性的类型会是匿名对象的超类型,如果你没有声明任何超类型那么就是Any,这…

阅读全文 »
已阅读 240 次

kotlin学习之循环流中使用标签

今天继续学习kotlin发现叫做标签的这个循环流控制的用法,它很类似于某些语言的goto用法,下面我来总结一下我的理解。 首先看下面一段代码 fun foo() { ints.forEach { if (it == 0) return print(it) } } 看代码中return关键字在代码中起到的作用就是跳出循环…

阅读全文 »
已阅读 136 次

kotlin学习之基础数据类型

kitlin中和其他语言一样会有一些基础数据类型,今天学习到这了做一下总结 先列个表格 类型 长度 Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 以上是学习过程中总结的基础烈性列表。 在学习的过程中发现各种计算和类型联系非常紧密,比如说需要做一个加或减的操作,那么我…

阅读全文 »
已阅读 70 次