美文网首页Kotlin
Kotlin学习(二)变量,常量

Kotlin学习(二)变量,常量

作者: 苍天霸气诀 | 来源:发表于2019-09-30 10:03 被阅读0次

    var: 用此关键字声明的变量表示可变变量,即可读且可写。相当于Java中普通变量

    val: 用此关键字声明的变量表示不可变变量,即可读且不可写。相当于Java中用final修饰的变量

    Kotlin变量

    1.1、基础用法

    定义格式: 关键字 变量名: 数据类型 = xxx

    如:

    //立即初始化
    var var_a: Int = 10
    
    //推导出类型
    var var_b = 5
    
    //没有初始化的时候,必须声明类型
    var var_c: Float
    var_c = 12.3f
    var_c += 1
    
     var age:Int
     var name:String="Zack"
    
    1.2、在类中声明以及声明可空变量

    上面的是演示变量的基础定义。而且只有在顶层声明的情况下是可以不用实例化的。但是在实际开发当中,一般都是在一个类中去定义变量,这种情况被称为声明类的属性。
    其特点如下:必须初始化,如果不初始化,需使用lateinit关键字

     var id: Long // 编译报错 必须初始化
        var name: String? = null
        var url: String? = null
        var mbid: String? = null
    
    1.2.2、声明可空变量
    可空变量的特点:
    • 在声明的时候一定用标准的声明格式定义。不能用可推断类型的简写。
    • 变量类型后面的?符号不能省略。不然就和普通的变量没区别了。
    • 其初始化的值可以为null或确定的变量值。

    定义:

    var/val 变量名 : 类型? = null/确定的值
    
     var name: String? = null
        var url: String? = null
        var mbid: String? = null
    
    1.3、后期初始化与延迟初始化

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

    • 使用lateinit关键字
    • 必须是可读且可写的变量,即用var声明的变量
    • 不能声明于可空变量。
    • 不能声明于基本数据类型变量。例:Int、Float、Double等,注意:String类型是可以的。
    • 声明后,在使用该变量前必须赋值,不然会抛出UninitializedPropertyAccessException异常。
      实例讲解:举一个Android中常见的例子
    // 声明组件
    private lateinit var mTabLayout : TabLayout
    
    lateinit var a : Int // 会报错。因为不能用于基本数据类型。
    
    // 赋值
    mTabLayout = find(R.id.home_tab_layout)
    
    // 使用
    mTabLayout.setupWithViewPager(mViewPager)
    

    Kotlin常量

    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

    声明常量的三种正确方式

    • 在顶层声明
    • 在object修饰的类中声明,在kotlin中称为对象声明,它相当于Java中一种形式的单例类
    • 在伴生对象中声明
    // 1. 顶层声明
    const val NUM_A : String = "顶层声明"
    
    // 2. 在object修饰的类中
    object TestConst{
        const val NUM_B = "object修饰的类中"
    }
    

    相关文章

      网友评论

        本文标题:Kotlin学习(二)变量,常量

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