栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Kotlin学习笔记-变量,函数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kotlin学习笔记-变量,函数

Kotlin

kotlin是一门静态语言,变量类型在运行时不会改变

文章目录
  • Kotlin
    • 1.变量
      • 1.1可空类型
      • 1.2非空断言
      • 1.3延迟初始化
      • 1.4可见性
    • 2.函数
      • 2.1空安全设计
      • 2.2可见性
      • 2.3get,set

1.变量
  • 变量声明必须初始化,或声明成抽象的,因为变量没有默认值

  • 所谓「可空不可空」,关注的全都是使用的时候,即「这个变量在使用时是否可能为空」

1.1可空类型

对于一些可能为空的变量,如网络获取的数据,我们允许它为空值

  • 声明时,在类型右边加一个?号,解除它的非空限制
  • 使用时,?. 对变量做一次非空确认后再调用方法,可以做到线程安全
1.2非空断言
  • 使用时,!!.,告诉编译器不用帮我们检查了,也就和Java差不多
1.3延迟初始化
  • lateinit var view: View
1.4可见性
  • 变量默认为public
2.函数
fun cook(name: String): Food {
    ...
}
  • 若返回值为空,可以写为

    • fun main(): Unit {}
      
    • fun main() {}
      
2.1空安全设计
  • 可空变量可以传给可空参数
  • 不可空变量可以传给不可空参数
  • 可空变量不可传给不可空参数
2.2可见性
  • 默认为public
  • override时
2.3get,set
class User {
    var name = "Mike"
    fun run() {
        name = "Mary"
        // 的写法实际上是这么调用的
        // setName("Mary")
        
        println(name)
        // 的写法实际上是这么调用的
        // print(getName())
    }
}

如何操作

class User {
    var name = "Mike"
        get() {
            return field + " nb"
        }
         
        set(value) {
            field = "Cute " + value
        }
}
  • getter,setter有了专门的关键字,get,set
  • getter / setter 函数位于 var 所声明的变量下面
  • setter 函数参数是 value
  • field对编码的人不可见,但会自动应用于 getter 和 setter
  • val修饰的变量不能调用 setter 函数,因此,val 声明的变量是不能重写 setter 函数的,但它可以重写 getter 函数,取值的时候仍然可能被修改,这也是和 Java 里的 final 的不同之处。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/346115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号