Kotlin中的const常量
来源:互联网 发布:网络黑白 百度文学 编辑:程序博客网 时间:2024/06/05 11:06
本来想作为kotlin一周总结的一个小点总结的,结果越来越多了,就单独拉出来练练
变量和常量
一般kotlin用到的是var和val
- var: 变量(读写)
- val:常量(只读)
但同时提供了一个const,val其实具有了大部分const拥有的功能,但是仔细对比了半天发现没什么卵用,但是又仔细一看,还有有点卵用的
const只能修饰val,不能修饰var
- 正确`const val testName = "ZhangSan"`- 报错`const var testName = "ZhangSan"`
经过const修饰的属性只能用拼接const修饰的属性去拼接
//const报错1val testName = "ZhangSan"//const报错2var testName = "ZhangSan"//正确const val testName = "ZhangSan"const val constNameNormal: String = "constNameNormal$testName"val nameNormal: String = "nameNormal$testName"
在java中引用不同
在kotlin中的引用
package mykotlin/** * Created by TaoYuan on 2017/9/7 0007. */fun main(args: Array<String>) { println(constNameNormal) println(nameNormal) println(myObject.constNameObject) println(myObject.nameObject) println(MyClass.constNameCompanionObject) println(MyClass.nameCompanionObject)}const val testName = "ZhangSan"//普通变量const val constNameNormal: String = "constNameNormal$testName"val nameNormal: String = "nameNormal$testName"//objectobject myObject { const val constNameObject: String = "constNameObject" val nameObject: String = "nameObject"}//companion objectclass MyClass { companion object { const val constNameCompanionObject: String = "constNameCompanionObject" val nameCompanionObject: String = "nameCompanionObject" }}
在java中的引用
System.out.println(ConstDemoKt.getNameNormal()); System.out.println(ConstDemoKt.constNameNormal); System.out.println(myObject.constNameObject); System.out.println(myObject.INSTANCE.getNameObject()); System.out.println(MyClass.constNameCompanionObject); System.out.println(MyClass.Companion.getNameCompanionObject());
这个已经一目了然了。在kotlin中,由于不存在包名的概念,都是直接引用的,所以不存在问题,在java中,必须写全路径,实质上经过const修饰的常量,才是java中理解的常量
可能以后还会碰到其他的坑,会继续在总结里记录
阅读全文
0 0
- Kotlin中的const常量
- Kotlin中的const常量
- c++中的const常量
- IOS 中的常量const
- iOS 中的常量const
- IOS 中的常量const
- ECMAScript中的const常量
- C++类中的常量、const ?
- 关于C++中的Const常量
- 类中的非静态const常量,静态Const常量
- C/C++中的const--常量指针与指针常量
- 常量const
- const常量
- 常量(const)
- 常量const
- const 常量
- const常量
- const常量
- 无数本高清古籍善本下载,200多个G
- 2018秋招笔试题_韩信点兵_C++
- [docker]docker常用命令
- 【Android笔记-异常-3】数字在TextView中显示一定要先转换为字符串。String.valueOf(数字)
- WPF 批量读取文件夹下TXT文件写入EXCEL
- Kotlin中的const常量
- 组合数学-HDU5894
- Javascript面向对象编程,定义类(class)的三种方法
- 程序之间共享数据SharedPreferences(一)
- 为什么多个客户端可以连接服务器的同个端口?
- 一些文件夹
- LeetCode 217. Contains Duplicate
- servlet的url-pattern匹配规则详细描述
- ucos-iii学习之ucos-iii的特性