kotlin修饰符const

本文介绍了Kotlin中的const修饰符,用于声明编译时常量,这些常量在编译时即可确定并嵌入代码。const属性可在companionobject中定义,允许类实例直接访问,类似Java的静态变量。然而,const不能用于类的实例属性,仅限于顶层或具有基本类型或字符串的无getter方法的对象属性。
摘要由CSDN通过智能技术生成

一. const属性简介

在 Kotlin 中,const 修饰符用于声明常量,常量的值在编译时就确定了,并且可以在编译时被嵌入到代码中

二. 使用const属性

companion object 中定义的属性和方法可以在类的实例上直接访问,就像 Java 中的静态变量和静态方法一样,而且它们只有一个实例,这个实例在第一次访问时被创建,而且它的生命周期与类本身相同。
使用如下:

1. 在顶层中使用const属性

val staticVar = MyClass.MY_STATIC_VAR

2. 在类中使用const属性

class MyClass {
    companion object {
        const val MY_STATIC_VAR = "Hello World"
    }
}

三. Kotlin的类中不能直接使用const属性

在 Kotlin 中,const 修饰符只能用于修饰顶层属性或者是一个拥有基本类型或者字符串类型的、没有自定义 getter 方法的对象的属性。这是因为 const 属性的值在编译时就确定了,而非在运行时才确定,因此只有在编译时就能确定常量值的属性才能使用 const 修饰符。

而对于一个使用 class 关键字定义的类,它不是一个顶层属性,也不是一个基本类型或字符串类型的对象的属性,因此不能使用 const 修饰符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: Kotlin中的修饰符包括访问权限修饰符和成员修饰符。访问权限修饰符包括public、protected、private和internal。其中,public表示所有地方可见,protected表示子类中可见,private表示类中可见,internal表示模块中可见。\[1\]成员修饰符包括override、open、final和abstract。override表示重写函数,open表示可被重写,final表示不能被重写,abstract表示抽象函数。\[2\]此外,Kotlin中还有一些特殊的修饰符,如in和out用于泛型的修饰,in相当于Java中的super关键字,out相当于Java中的extends关键字。\[1\]需要注意的是,在Kotlin中,外层的类不能访问内部类的private成员。\[3\] #### 引用[.reference_title] - *1* *2* [kotlin中的修饰符](https://blog.csdn.net/mjb00000/article/details/79268392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Kotlin语法(九)-修饰符](https://blog.csdn.net/tangxl2008008/article/details/52421476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值