美文网首页
Kotlin学习笔记(1)——变量、常量、注释详解

Kotlin学习笔记(1)——变量、常量、注释详解

作者: 骑着金刚的猿 | 来源:发表于2019-06-27 10:48 被阅读0次
    kotlin2.png

    一、Kotlin变量用法

    1.1、基础用法

    • 定义格式: 关键字 变量名: 数据类型 = xxx
      kotlin变量的声明方式与Java中声明变量有很大的区别,而且必须使用var或val关键字。其中:
      • var: 用此关键字声明的变量表示可变变量,即可读且可写。相当于Java中普通变量;
      • val: 用此关键字声明的变量表示不可变变量,即可读且不可写。相当于Java中用final修饰的变量。
      • 其中。var和val是Kotlin中定义变量必须使用的关键字。
      • 每一行代码的结束可以省略掉分号;,这一点是和Java不同的地方。当然,第一次写可能会有一点不习惯。

    1.2、在类中声明以及声明可空变量

    1.2.1、类中声明变量

    其特点如下:必须初始化,如果不初始化,需使用lateinit关键字。


    image.png

    1.2.2、声明可空变量

    定义:
    var/val 变量名 : 类型? = null/确定的值

    1.3、后期初始化与延迟初始化

    1.3.1、后期初始化

    声明后期初始化属性的特点:

    • 使用lateinit关键字
    • 必须是可读且可写的变量,即用var声明的变量
    • 不能声明于可空变量。
    • 不能声明于基本数据类型变量。例:Int、Float、Double等,注意:String类型是可以的。
    • 声明后,在使用该变量前必须赋值,不然会抛出UninitializedPropertyAccessException异常。
    private lateinit var mTvTest1: TextView//声明组件
    private fun initView() {
        mTvTest1 = findViewById(R.id.tv_test1)
    }
    

    1.3.2、延迟初始化属性

    所谓延迟初始化即:指当程序在第一次使用到这个变量(属性)的时候在初始化。
    声明延迟初始化属性的特点:

    • 使用lazy{}高阶函数,不能用于类型推断。且该函数在变量的数据类型后面,用by链接。
    • 必须是只读变量,即用val声明的变量
    //声明一个延迟初始化的字符串
    private val mStr:String by lazy {
        "我是延迟初始化字符串变量"
    }
    

    二、Kotlin之常量的用法

    Kotlin中声明常量的方式和在Java中声明常量的方式有很大的区别。这里举例说明:
    Kotlin中使用val时候对应的Java代码:
    Kotlin中的 val numA = 6 等价于 Java中的:public final int numA = 6
    很显然,Kotlin中只用val修饰还不是常量,它只能是一个不能修改的变量。那么常量怎么定义呢?其实很简单,在val关键字前面加上const关键字。
    即:

    const val NUM_A = 6
    

    其特点:const只能修饰val,不能修饰var
    声明常量的三种正确方式

    1. 在顶层声明
    2. 在object修饰的类中声明,在kotlin中称为对象声明,它相当于Java中一种形式的单例类
    3. 在伴生对象中声明

    三、Kotlin之注释

    Kotlin中的注释几乎和Java没什么区别。唯一的区别在于Kotlin中的多行注释中可以嵌套多行注释,而Java中是不能的。

    相关文章

      网友评论

          本文标题:Kotlin学习笔记(1)——变量、常量、注释详解

          本文链接:https://www.haomeiwen.com/subject/tislcctx.html