Kotlin的基础特性

1.基础语法


函数声明

  • 声明函数要用 fun 关键字,就像声明类要用 class关键字一样

  • 函数参数参数类型是在参数名的右边

  • 函数的返回值函数参数右边使用:分割,没有返回值时可以省略

声明没有返回值的函数

fun main() {
  printLn(hello world)
}

声明有返回值的参数

fun doubleX(x: Int): Int {
    return x * 2
}

 

变量声明

  • 声明变量需要通过关键字, var 声明可读可写变量,
    val 声明只读变量
  • 类型变量名的右边,用:分割,同时如果满足类型判断,类型可以省略
  • 创建对象直接调用构造器,不需要 new 关键字

声明可读可写变量

var age: Int = 18

声明只读变量

val name: String = "Jarvis"

创建对象

val kotlin: Kotlin = Kotlin()

 

类型判断

如果表达是右边的类型是可以推断出来的,那么类型可以省略

var age = 18
val name = "Jarvis"
val kotlin = Kotlin()

 

继承类/实现接口

继承类和实现接口都是用的 : ,如果类中没有构造器,需要在类后面加上 ()

class MainActivity : BaseActivity(), View.OnClickListener

 

空安全设计

kotlin中的类型分为可空类型不可空类型

  • 不可空类型 EditText
  • 可空类型 EditText?
     

调用符

  • !!强行调用符
  • ?.安全调用符
     

类型判断

  • is 判断属于某类型
  • !is 判断不属于某类型
  • as 类型墙砖,失败哦爆出类型强转失败异常
  • as? 类型前传,失败返回 null
     

静态函数和属性

  • 顶层函数
  • object
  • companion object
    其中,顶层函数直接在文件中定义函数和属性,会直接生成静态代码。在java中通过文件名Kt来访问,同事可以通过 @file:JvmName 注解来修改这个类名
    objectcompanion object 都是生成单例对象,然后通过单例对象访问函数和属性的
     
JvmStatic

通过这个注解将 objectcomnpanion object 的内部函数和属性,真正生成静态代码
 

2.Kotlin标准函数


使用是可以通过简单的规则作出一些判断

  • 返回自身
    applyalso 中选
    1.作用域中使用this作为参数选择apply
    2.作用域中使用it作为参数选择also
  • 不需要返回自身
    runlet 中选
    1.作用域中使用this作为参数选择run
    2.作用域中使用it作为参数选择let

apply适合对一个对象做附加操作的时候
let适合空判断的时候
with适合对同一个对象进行对此操作的时候

3.Kotlin扩展函数(extension function)


扩展函数可以为任何类添加上一个函数,从而代替工具类
扩展函数和成员函数相同时,成员函数优先被调用
拓展韩束是静态解析的,在编译时就确定了调用函数(没有多态)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容