05Kotlin基础进阶
Posted 清风百草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了05Kotlin基础进阶相关的知识,希望对你有一定的参考价值。
(1)一个人只要自己不放弃自己,整个世界也不会放弃你.
(2)天生我才必有大用
(3)不能忍受学习之苦就一定要忍受生活之苦,这是多么痛苦而深刻的领悟.
(4)做难事必有所得
(5)精神乃真正的刀锋
(6)战胜对手有两次,第一次在内心中.
(7)好好活就是做有意义的事情.
(8)亡羊补牢,为时未晚
(9)科技领域,没有捷径与投机取巧。
(10)有实力,一年365天都是应聘的旺季,没实力,天天都是应聘的淡季。
(11)基础不牢,地动天摇
(12)写博客初心:成长自己,辅助他人。当某一天离开人世,希望博客中的思想还能帮人指引方向.
(13)编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~
Kotlin基础进阶
文章目录
1.Kotlin基础知识
1.1kotlin使用java的回调
Handler(Looper.getMainLooper(),object : Handler.Callback
override fun handleMessage(msg: Message): Boolean
return true
)
1.2Kotlin的lamboda表达式
Handler(Looper.getMainLooper(),Handler.Callback
true
)
1.3使用线程
Thread
Log.e("","main:")
.start()
2.Java中调用Kotlin函数
(1)注意Kotlin函数隔离,即禁止Java调用Kotlin函数的写法
2.1Kotlin函数
/**
* @author XiongJie
* @version appVer
* @Package com.gdc.kotlin.sample06.kt.s01
* @file
* @Description:
* @date 2021-6-4 12:51
* @since appVer
*/
fun show(name : String)
print("name:$name")
fun showAge(age : Int)
print("age:$age")
fun add(n1:Int,n2:Int)
println("result:$n1+n2")
//禁止Java调用Kotlin函数
fun `showTest`()
println("showTest")
fun ` `(sex:Char)
println("sex:$sex")
//这是用数字对代码进行保护
fun `44552`(s:Char)
println("s:$s")
//Kotlin可以随意调用Kotlin函数
fun main()
`showTest`()
` `('M')
`44552`('s')
2.2Java调用
public class Client
public void test()
//1.Java调用Kotlin
KTStudentKt.show("derry");
KTStudentKt.showAge(22);
KTStudentKt.add(3,8);
//2.调用Kotlin禁止调用的方法
//`showTest()`
3.解析构造函数
/**
* @author XiongJie
* @version appVer
* @Package com.gdc.kotlin.sample07
* @file
* @Description: 数据bean
* @date 2021-6-4 13:12
* @since appVer
*/
data class User(val id:Int,val name:String,val sex:Char)
/**
* 1.构造函数赋值与解析
*/
fun main()
//1.1对象创建
val u = User(1,"张三",'M')
//1.2解析构造函数数据,执行完u.copy()就会有值,相当于new了一个全参对象
val(v1,v2,v3) = u.copy()
//1.3输出
println("V1:$v1,V2:$v2,V2:$v3")
class Student(var id:Int,var name:String,var sex:Char)
//1.component不能写错,函数返回值为Int
//2.手写构造函数解析(简称解构),数据bean不用写,会自动生成以下代码
operator fun component1():Int = id
operator fun component2():String = name
operator fun component3():Char = sex
operator fun component4():String = "李明"
/*
1.解析Student构造函数数据
*/
fun main()
//1.1对象创建
val stu = Student(11,"李审",'M')
//1.2构造函数赋值
val (v1,v2,v3,v4) = stu;
//1.3输出
println("V1:$v1,V2:$v2,V2:$v3,v4:$v4")
4.扩展函数
/**
* @author XiongJie
* @version appVer
* @Package com.gdc.kotlin.sample08
* @file
* @Description:空类
* 1.可以在类外添加扩展函数
* @date 2021-6-4 13:41
* @since appVer
*/
class Student
fun main()
//1.创建对象
val stu = Student();
//2.扩展函数调用
stu.add(1,3)
stu.show()
//3.Kotlin自身提供的扩展函数调用
val file = File("d:/test.txt")
file.readText()
file.show()
/**
* 1.给Student类增加扩展函数
*/
fun Student.add(n1:Int,n2:Int)
println("result:$n1+n2")
fun Student.show()
println("Student show")
//1.给Java的File增加扩展函数
fun File.show()
println("给Java的File增加扩展函数")
//2.覆盖了File类的readText方法,优先调用的是覆盖后的扩展函数
fun File.readText()
4.1java调用Kotlin扩展函数
public class Test
public void test()
File file = new File("test.txt");
//1.java无法直接调用Kotlin的扩展函数
//file.readText();
//2.Java调用Kotlin的扩展函数
String ret = FilesKt.readText(file, Charsets.UTF_8);
4.2函数作为另一个函数的形参
fun main()
/**
* 1.表示函数部分
* 1.1调用函数
*/
show(true)
println(it)
/**
* 1.loginMethod:(Boolean)->Unit等价函数
*/
fun loginMethod(b:Boolean) : Unit
/**
* 1.函数可以作为另一个函数的形参
* 1.1.loginMethod不接受参数并且不返回值
* loginMethod:(Boolean)->Unit
* (1)loginMethod:方法名
* (2)(Boolean)方法的括号及参数类型
* (3)->方法体
* (4)Unit== void返回值
*/
fun show(isLogin:Boolean,loginMethod:(Boolean)->Unit)
if(isLogin)
println("登录成功")
//调用函数
loginMethod(true)
else
println("登录失败")
//调用函数
loginMethod(false)
5.打赏鼓励
感谢您的细心阅读,您的鼓励是我写作的不竭动力!!!
5.1微信打赏
5.2支付宝打赏
以上是关于05Kotlin基础进阶的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin基础从入门到进阶系列讲解(进阶篇)Jetpack,(更新中)
Kotlin基础从入门到进阶系列讲解(进阶篇)Jetpack,(更新中)
Kotlin基础从入门到进阶系列讲解(进阶篇)Android之Activity的生命周期