
Kotlin
文章平均质量分 60
Kotlin 开发实战
Lucky_William
just do it
展开
-
Kotlin 与 Java 相互调用
目录一、Kotlin 调用 Java1. kotlin 关键字转义2. kotlin 可将数组传给 java 的可变数量参数3. kotlin 获取对象的 java 类二、Java 调用 Kotlin1. java 调用 kotlin 类的属性和方法2. java 调用 kotlin 的顶级属性和顶级函数3. java 调用生成指定类名的 kotlin 属性和函数4. java 调用 kotlin 的伴生对象的方法和静态方法5. java 调用 kotlin 单例类的方法6. java 调用 kotlin原创 2021-12-11 21:44:41 · 8303 阅读 · 0 评论 -
Kotlin 注解
目录1. kotlin 定义注解2. kotlin 元注解3. kotlin 使用注解附 Github 源码:1. kotlin 定义注解注解属性在使用时指定,其后不会再变,只能声明为只读属性annotation class Annotation1(val name: String, val desc: String)annotation class Annotation2(val field1: Int, val field2: String)2. kotlin 元注解@Re原创 2021-12-10 21:36:41 · 2195 阅读 · 1 评论 -
Kotlin 泛型 型变、逆变、星号投影、reified、泛型上限
目录1. kotlin 定义泛型类2. kotlin 定义类型变3. kotlin 定义类逆变4. kotlin 定义调用处型变5. kotlin 定义调用处逆变6. kotlin 星号投影7. kotlin 定义泛型函数8. kotlin 使用 reified 修饰泛型9. kotlin 定义泛型上限附 Github 源码:1. kotlin 定义泛型类// 定义泛型类open class GenericDemo<T>(open var field: T? = null)// 继承原创 2021-12-09 22:40:11 · 2562 阅读 · 2 评论 -
Kotlin 基本数据类型
目录1. kotlin 数值型2. kotlin 布尔型3. kotlin 字符型4. kotlin 字符串5. kotlin 可空类型6. kotlin 类型相互转换7. kotlin 二进制、十六进制附 Github 源码:1. kotlin 数值型fun main() { // 整数型 val a: Byte = 1 // 8位 val b: Short = 2 // 16位 val c: Int = 3 // 32 val c2 = 3 // 默认整型原创 2021-12-07 15:29:41 · 1498 阅读 · 1 评论 -
Kotlin 异常处理
目录1. kotlin 捕获异常2. kotlin 先处理小异常,再处理大异常3. kotlin 使用 throw 抛出异常4. kotlin 自定义异常附 Github 源码:1. kotlin 捕获异常不论在 try 块、catch 块中执行怎样的代码(除非退出虚拟机 System.exit(1) ),finally 块的代码总会被执行// 定义顶级常量const val fileName = "src/com/william/testkt/exception_demo.txt"/原创 2021-12-06 21:59:16 · 3889 阅读 · 2 评论 -
Kotlin 对象、枚举、委托
Kotlin 对象、枚举、委托一、Kotlin 对象1. kotlin 伴生对象class Demo { val field: String = "demo field" // kotlin 定义伴生对象 companion object { // kotlin 定义常量 const val KEY_NAME = "key_name" // kotlin 模拟静态方法 @JvmStatic // 加注解实现原创 2021-12-06 11:05:00 · 1117 阅读 · 0 评论 -
Kotlin 扩展、抽象类、接口、内部类、嵌套类
Kotlin 扩展、抽象类、接口、内部类、嵌套类一、Kotlin 扩展扩展的本质:并没有真正修改所扩展的类,只是定义了一个函数,当调用扩展方法时,执行静态解析,由编译时类型决定,属于函数调用1. kotlin 扩展方法// 定义类class ExtClass { var field1: Int = 100 var field2: String = "value str"}/** * kotlin 定义扩展方法 */fun ExtClass.printField()原创 2021-12-05 20:38:00 · 564 阅读 · 0 评论 -
Kotlin 类、属性、方法、继承、多态
Kotlin 类、属性、方法、继承、多态一、Kotlin 类1. kotlin 定义类使用 open 修饰类,表明可被子类继承使用 open 修饰属性,表明可被子类覆写/** * Kotlin 使用 class 定义类 Phone,使用 open 修饰类,表明可被继承 * 主构造器参数 为 system 只读属性,可被覆写 * 所有属性均会自动生成 getter 或 setter 方法,val 修饰的只有 getter 方法 */open class Phone constru原创 2021-12-04 20:27:04 · 2291 阅读 · 2 评论 -
Kotlin 函数与 Lambda 表达式
Kotlin 函数 与 Lambda 表达式一、Kotlin 函数1. kotlin 定义函数/** * 定义函数。无参,无返回值。 * 也可以使用 Unit 表明没有返回值,同 Java 的 void */fun function1() { println("no params func")}/** * 定义函数,返回2个参数拼接的结果字符串 * * @param param1 int * @param param2 String * @return String原创 2021-12-03 23:30:14 · 846 阅读 · 1 评论 -
Kotlin 集合 Set、List、Map 及常用方法
Kotlin 集合详解Kotlin Set、List、Map 集合及常用方法原创 2021-12-02 22:07:54 · 3144 阅读 · 0 评论 -
Kotlin 数组及常用方法
Kotlin 数组及常用方法1. kotlin 创建数组val arr1 = arrayOf(1, 2, 3)val arr2 = arrayOf("1", "2", "3")// 指定长度为 3 的整型数组,初始化值为 nullval arr3 = arrayOfNulls<Int>(3)// 创建类型为 String 的空数组val emptyArr = emptyArray<String>()// 创建基本类型的数组val arrInt = intArra原创 2021-11-30 22:00:14 · 11867 阅读 · 0 评论 -
Kotlin 循环、流程控制:if-else、when、for-in
Kotlin 流程控制一、kotlin if-else 判断结构1. if-else 简单判断val bool = trueif (bool) { println("bool is true")} else { println("bool is false")}2. if-else-if 判断结构val score = 85if (score > 90) { println("score > 90,优秀")} else if (score &原创 2021-11-29 21:56:14 · 1083 阅读 · 0 评论 -
Kotlin 运算符
Kotlin 运算符1. kotlin 单目运算符var field = 1// kotlin 自增运算符field++++fieldfield.inc() // 同自增运算// kotlin 自减运算符field----fieldfield.dec() // 同自减运算println(field) // 12. kotlin 双目算术运算符var a = 3val b = 4var result = 0result = a + b // 7,同a.plus原创 2021-11-29 17:32:22 · 1277 阅读 · 0 评论 -
Kotlin 开发规范总结
目前在使用Kotlin实际开发项目的过程中总结了一套Kotlin代码规范。如有不对,可以留言一起讨论,欢迎大家留言补充。github demo点我Kotlin项目开发规范总结:返回模型中的字段除了数值型和Boolean以外,要用可空声明;对于数值型和Boolean的字段可以定为不可空类型,但是需要赋值,方便调用,如果接口不返回这个字段,则GSON不会解析,如果字段返回null,则得到的是声明的初始值;扩展函数和扩展属性不要滥用,用的巧妙可以省很多模板代码;工具类建议写成顶级函数,以文件为单位归类原创 2020-07-09 16:17:03 · 681 阅读 · 0 评论 -
Kotlin 学习初探
Kotlin学习——基础类型随着Kotlin被谷歌指定为Android的官方开发语言,Kotlin的使用者也越来越多,它不仅能编写服务端,也能编写移动端,也能编译成javacript,代码会被编译为字节码文件,运行在JVM上,Kotlin是基于JVM的静态语言,它是强类型的语言。作为一个求上进的程序员,怎能放过学习现代的编程语言的机会呢。Kotlin的github地址:...原创 2018-05-08 18:22:59 · 714 阅读 · 2 评论