kotlin学习(代码片段)

liumaowu liumaowu     2022-12-19     680

关键词:

 

集合:

  Kotlin可以使用Java声明集合的方法,也有自己的声明方式。

//Java方式
val a=ArrayList<Int>()

//Kotlin方式
val b=arrayListOf<Int>()

 


 

顶层函数和属性:

  Kotlin中没有static修饰符。

  为了消除静态工具类,Kotlin可以将函数或者属性写在 .kt 文件中,类的外面。

  类似于C语言中全局变量,如果是public属性(省略的话默认public),其他类可以直接使用这个变量(函数),不必声明。


 

扩展函数和属性:

  Kotlin支持在原有类的外面扩展自己想要的方法,比如我想给String对象添加一个可以获得最后一个字母的方法,不需要再去写一个类继承String,然后添加方法。

fun main(args: Array<String>) 
	println("Kotlin".lastChar())


//扩展函数 fun String.lastChar():Char return this.get(this.length-1)

//扩展属性
fun String.lastChar:Char
         get()=get(length-1)

  为了防止偶然的命名冲突,使用扩展函数需要导入扩展函数。

  Kotlin中import可以导入一个类,也可以导入一个函数,比如扩展函数是Strings包中的顶层函数,可以 import Strings.lastChar ,当然也可以使用 * 来导入包中所有内容。

  扩展函数必须是顶层函数。不能写在类内部。

  扩展函数的静态属性决定了扩展函数不能被子类重写。


可变参数:

fun main(args: Array<String>) 
    bb(1,2,3,4,5)


fun bb(vararg a:Int)
    for (i in a)
        println(i)
    

 






kotlin学习之旅解决错误:kotlin.notimplementederror:anoperationisnotimplemented:notyetimplemented(代码片段(代码片段)

一、错误描述今天实现android.hardware.SensorEventListener接口的时候,然后运行程序报错:2021-12-2109:46:49.25616655-16655/com.oyp. 查看详情

kotlin学习笔记-----接口(代码片段)

面向对象-----接口Kotlin中的接口和Java中的接口一样,都是使用interface关键字修饰interfaceAnimalfuneat()?classCat:Animaloverridefuneat()println("猫吃鱼")?classDog:Animaloverridefuneat()println("狗吃肉")  查看详情

kotlin学习记录(代码片段)

关于kotlin中的委托:1.属性委托  我们知道kotlin为我们提供了几种标准的委托,如下所示  延迟属性(lazyproperties):其值只在?次访问时计算;  可观察属性(observableproperties):监听器会收到有关此属性变更的通知;  把... 查看详情

kotlin基础学习(代码片段)

...就对这本书进行了学习。在这本书中,由于谷歌大力推广kotlin语言,将其作为android开发的首推语言,本书也遵循了谷歌的推广,因此我就跟着书本学习了基本的Kotlin语法,当作记录笔记了。变量和函数变量在Koltin中的变量定义... 查看详情

kotlin语法学习(代码片段)

Kotlin语法学习(一)变量和函数变量在Kotlin中定义变量的方式和java有很大的区别,在java中有很多的基本类型和一些引用类型,但是在Kotlin中定义一个变量只允许在变量前面声明两个关键字:val和varval(value的简写)用来声明一个不可变的... 查看详情

kotlin学习(10)反射(代码片段)

...属性和方法的方式,而不需要事先确定这些属性是什么。Kotlin反射API:KClass、KCallable、KFunction、KProppertyKClass  对应Java中的java.lang.class//Kotlin获取一个类valmyClass:KClass<Person>=Person::class//Java获取一个类Cl 查看详情

kotlin基础学习(代码片段)

学!原文:https://blog.csdn.net/CrazyApes/article/details/122091459文章目录Kotlin线上编写变量lateinit延迟初始化空安全比较==,===,equalsfor循环when[Dataclasses](https://kotlinlang.o 查看详情

android开发语言——kotlin学习笔记(代码片段)

Kotlin本Blog是我学习《Android第一行代码-第三版》的学习笔记,将会不定期断更持续更新。(默认大家都和我一样学过C++或Java的基础语法)。Kotlin简介在Android诞生的前几年中,Java一直是Android的主要开发语言。在2017年&#... 查看详情

kotlin学习——kotlin计算器(代码片段)

我们也学习了这么久的Kotlin了,我们来用Kotlin写一个计算器的小案例吧,这也是比较简单的示例了。我们先来看下效果:先看下这个UI,上面是一个EditText下面是一个RecyclerView,先来写个适配器吧,我们来... 查看详情

kotlin学习使用之旅(代码片段)

为什么从二开始呢?再此之前已经有了一篇了,那是刚知道kotlin的时候草(chao)来(chao)的并且学习一篇,这次是自己在项目中正式使用并且遇到的一些问题记录,供kotlin新入门的童鞋参考,避免我的弯路(当然,这里的都是其他地方会有的,... 查看详情

kotlin基础学习关键字(代码片段)

Kotlin线上编写练习Kotlin官网提供了PlayGround供大家线上尝试地址:https://play.kotlinlang.org/原文:https://blog.csdn.net/CrazyApes/article/details/126941878文章目录前言关键字硬关键字HardKeywords软关键字SoftKeywords修饰关键字ModifierK 查看详情

android:kotlin详细入门学习指南-基础语法(代码片段)

Android:Kotlin详细入门学习指南-基础语法(一)本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Kotlin被Google官方认为是Android开发的一级编程语言自2019年GoogleI/O以来,Kotlin就成为了Android移动开发的首选。... 查看详情

kotlin学习(代码片段)

变量声明:  类型放在变量名后面: valname:String="aaaa" ,String可以省略,因为可以根据等号后面的内容自动判断出name的类型  如果可空: valname:String?=null  var:  修饰的变量可读可写;值可以被改变,但类... 查看详情

kotlin基础语法学习笔记(代码片段)

Kotlin简介Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度... 查看详情

kotlin入门基础语法学习笔记(代码片段)

敲了一天的kotlin基础语法,整理归纳到一个类里面,便于以后忘记的时候复习。/***CreatedbyGGon2017/11/20.*///main函数funmain(args:Array<String>)vartestMain=TestMain()print(testMain.array())classTestMain//单例的写法compani 查看详情

kotlin学习手记——json解析(代码片段)

Kotlin中解析Json有那么几种方式:GsonMoshikotlinx.serialization其中Gson是原来经常使用的Google的解析库,用这个在kotlin中使用已经不适合,会有很多情况不支持,如空类型默认值等。然后就是moshi,这个是square出品的&... 查看详情

kotlin基础学习关键字(代码片段)

Kotlin线上编写练习Kotlin官网提供了PlayGround供大家线上尝试地址:https://play.kotlinlang.org/原文:https://www.jianshu.com/p/ae5f15ceb9b0文章目录前言关键字硬关键字HardKeywords软关键字SoftKeywords修饰符关键字Modifierkeywords特殊标识符Specia 查看详情

kotlin基础学习关键字(代码片段)

Kotlin线上编写练习Kotlin官网提供了PlayGround供大家线上尝试地址:https://play.kotlinlang.org/原文:https://www.jianshu.com/p/ae5f15ceb9b0文章目录前言关键字硬关键字HardKeywords软关键字SoftKeywords修饰符关键字Modifierkeywords特殊标识符Specia 查看详情