
kotlin
文章平均质量分 77
&岁月不待人&
每一个优秀的人,都有一段沉默的时光,那段时光是付出了很多努力的,却得不到结果的日子,我们把它叫做扎根。
展开
-
Kotlin和Java区别
哈哈哈,前段时间,面试的时候,突然问到我Kotlin和Java的区别,一下子把我问懵逼了,确实没遇到问这个的,想了下,说了下Kotlin的编译时空检查机制,代码更简洁,很多封装好的API可以直接调用,Kotlin有Jetpack全家桶,有协程,有lateinit和by lazy懒加载机制等等,后面着重问我协程去了,但是我知道我也有很多没有答上。原创 2025-03-07 16:49:58 · 1385 阅读 · 0 评论 -
Kotlin 协程(一)协程的定义及基础使用
Kotlin 协程是一种轻量级的并发编程方式,用于简化异步代码的编写。它允许你编写看似同步的代码来处理异步任务,使代码更加简洁、可读且易于维护。协程广泛应用于 Android 开发中,用于网络请求、数据库操作等需要异步执行的任务。协程是一种语法糖 协程的出现是来解决异步问题的,但它本身却不提供异步的能力,协程某种意义上更像是一种语法糖,它为我们隐藏了异步调用和回调的细节,让我们更关注于业务逻辑的实现。一句话概括,协程是一种轻量级的方便操作异步代码的语法糖,而它本身不提供异步能力。原创 2024-11-05 16:40:36 · 1205 阅读 · 0 评论 -
Kotlin by lazy和lateinit的使用及区别
使用lateinit:适用于那些需要稍后赋值且会被多次修改的对象属性,比如 Android 中的Context或View。使用by lazy:适用于那些不需要立即初始化,且一旦初始化后不再改变的只读属性,比如计算密集型或一次性加载的属性。一般来说的话,lateinit一定要记得初始化,不然后面会爆异常UninitializedPropertyAccessException。原创 2024-11-04 17:57:04 · 879 阅读 · 0 评论 -
Android基础--kotlin(十二)kotlin 委托
kotlin 委托委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。类委托类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。以下实例中派生类 Derived 继承了接口 Base 所有方法,并且委托一个传入的 Base 类的对象来执行这些方法。// 创建接口interface Base { .原创 2021-03-15 15:16:46 · 261 阅读 · 1 评论 -
Android基础--kotlin(九)Kotlin 泛型
泛型即 "参数化类型",将类型参数化,可以用在类,接口,方法上。与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼。泛型类声明一个泛型类:class Box<T>(t: T) { var value = t}创建类的实例时我们需要指定类型参数:val box: Box<Int> = Box<Int>(1)// 或者val box = Box(1) // 编译器会进行类型推断,1 类型 Int,转载 2021-03-08 18:09:26 · 393 阅读 · 1 评论 -
Android基础--kotlin(十一)Kotlin 对象表达式和对象声明
Kotlin 对象表达式和对象声明Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类。对象表达式通过对象表达式实现一个匿名内部类的对象用于方法的参数中:window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { // ... } override fun mouseEn原创 2021-03-04 21:15:28 · 242 阅读 · 1 评论 -
Android基础--kotlin(十)Kotlin 枚举类
Kotlin 枚举类枚举类最基本的用法是实现一个类型安全的枚举。枚举常量用逗号分隔,每个枚举常量都是一个对象。enum class Color{ RED,BLACK,BLUE,GREEN,WHITE}枚举初始化每一个枚举都是枚举类的实例,它们可以被初始化:enum class Color(val rgb: Int) { RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF)}默认名称为枚举字符名,值从0原创 2021-03-04 20:19:19 · 1138 阅读 · 1 评论 -
Android基础--kotlin(八)Kotlin 扩展数据类与密封类
数据类Kotlin 可以创建一个只包含数据的类,关键字为data:data class User(val name: String, val age: Int)编译器会自动的从主构造函数中根据所有声明的属性提取以下函数:equals() / hashCode()toString() 格式如 "User(name=John, age=42)"componentN() functions 对应于属性,按声明顺序排列copy() 函数如果这些函数在类中已经被明确定义了,或者.原创 2021-03-03 20:11:59 · 247 阅读 · 0 评论 -
Android基础--kotlin(八)Kotlin 扩展
Kotlin 扩展Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。扩展函数扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式:fun receiverType.functionName(params){ body}receiverType:表示函数的接收者,也就是函数扩展的对象 functionName:扩展函数的名称 params:扩展函数的原创 2022-10-24 14:51:20 · 250 阅读 · 0 评论 -
Android基础 -- kotlin(五)
11.Kotlin 类和对象类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字class声明类,后面紧跟类名:class Runoob { // 类名为 Runoob // 大括号内是类体构成}可以在类中定义成员函数:class Runoob() { fun foo() { print("Foo") } // 成员函数}类的属性属性定义类的属性可以用关键字var声明为可变的,否...原创 2021-02-22 11:16:45 · 284 阅读 · 0 评论 -
Android基础--kotlin(六)
目录Kotlin 继承构造函数子类没有主构造函数重写属性重写Kotlin 继承Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类:class Example // 从 Any 隐式继承Any 默认提供了三个函数:1.equals()2.hashCode()3.toString()注意:Any 不是 java.lang.Object。如果一个类要被继承,可以使用 open 关键字进行修饰。1.ope.原创 2021-02-22 13:02:40 · 152 阅读 · 0 评论 -
Android基础--kotlin(四)
10Kotlin 循环控制For 循环for 循环可以对任何提供迭代器(iterator)的对象进行遍历,语法如下:for (item in collection) print(item)对集合进行迭代:fun main(args: Array<String>) { val items = listOf("apple", "banana", "kiwi") for (item in items) { println(item) }.原创 2021-02-20 17:46:38 · 223 阅读 · 0 评论 -
Android--kotlin基础(三)
7.区间区间表达式由具有操作符形式..的 rangeTo 函数辅以 in 和 !in 形成。区间是为任何可比较类型定义的,但对于整型原生类型,它有一个优化的实现。以下是使用区间的一些示例:举个栗子:fun main(args: Array<String>) { print("循环输出:") for (i in 1..4) print(i) // 输出“1234” println("\n----------------") print("设置..原创 2021-02-07 15:17:35 · 301 阅读 · 0 评论 -
Android基础--Kotlin(二)
上一章;Android基础--kotlin接着函数总结3.3 函数定义1.函数定义使用关键字 fun,参数格式为:参数 : 类型fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Intreturn a + b}2.表达式作为函数体,返回类型可进行自动推断:fun sum(a: Int, b: Int) = a + b public fun sum(a: Int, b: Int): Int = a + b // ...原创 2021-02-05 20:41:48 · 271 阅读 · 0 评论 -
Android基础--kotlin(一)
1.什么是Kotlin?kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势1. 简洁它大大减少你需要写的样板代码的数量。2. 安全避免空指针异常等整个类的错误。3. 通用构建服务器端程序、Android 应用程序或者在浏览器中运行的前端程序。4. 互操作性通过 100% Java 互操作性(100%兼容),可可以直接调用Java代码,可以无缝使用Java库。2.如何构建项目?因为原创 2020-11-03 09:55:50 · 262 阅读 · 3 评论