Kotlin学习笔记-变量,函数

Kotlin学习笔记-变量,函数,第1张

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 的不同之处。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4746912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存