Kotlin 博客 companion object 伴生对象,getter,setter,内部,局部,匿名类,可变参数
来源:互联网 发布:电脑编程 编辑:程序博客网 时间:2024/06/05 09:56
先来看一个名为message的类
在这个类中有一段包含在companion object中的代码,需要说一下的是,Kotlin的class并不支持static变量,所以需要使用companion object来声明static变量,其实这个platformStatic变量也不是真正的static变量,而是一个伴生对象,
这个伴生对象位于Message类中定义的一个叫做Companion的内部类中,如图:
可以看到在Kotlin中编译器自动生成类是很常见的事情,那么这个伴生对象作何理解呢?
我的理解是,伴生对象与单例模式相关,这个对象是Companion类的对象,伴随着Message类而生.
Companion这个内部类是编译器自动生成的,我们也可以自己定义内部类,如:
当然,在Kotlin中除了内部类,还有匿名类和局部类,如图:
匿名类:
可以看到r这个变量所属类型是匿名的(no name provided)
局部类:
在Kotlin中还提供了一些额外的特性,比如可变参数
这段代码运行结果如下:
阅读全文
0 0
- Kotlin 博客 companion object 伴生对象,getter,setter,内部,局部,匿名类,可变参数
- scala伴生对象companion object
- Spark 基础 —— 类与伴生对象(companion object)
- 走进Scala——伴生对象(Companion Object)
- 走进Scala——伴生对象(Companion Object)<转>
- 走进Scala——伴生对象(Companion Object)
- Idea下kotlin的枚举,伴生对象companion和扩展方法的使用
- 匿名类对象及可变参数
- Scala伴生类Class和伴生对象Object的区别
- 伴生类和伴生对象
- Kotlin编程之伴生对象,抽象类,密封类
- 匿名对象 、面向对象的三大特征、 getter ,setter方法 self的用法
- object对象、伴生类与伴生对象与类的继承实战
- Kotlin语言学习之使用object和companion object修饰静态类和静态方法
- Object-C 学习笔记(七)---setter&getter
- ES5的Object对象新增的3个API(包括setter和getter)
- scala 伴生类 伴生对象 apply
- scala中的伴生类 伴生对象说明
- PAT 1025.反转链表
- 关于java中创建对象的5中方式
- kotlin学习记录以及一些疑问
- json格式
- 64位Ubuntu14.04+GTX960安装CUDA8.0及cudnn
- Kotlin 博客 companion object 伴生对象,getter,setter,内部,局部,匿名类,可变参数
- Mysql(1)并发控制
- Failed to load ApplicationContext
- git
- [HDU-5972] [Problem B](16亚洲区域赛大连站)bitset优化(shiftand算法)
- django rest framework 外键序列化方法与问题总结
- java虚拟机---垃圾收集器
- 可分离变量的微分方程
- 网易雷火盘古实习2018编程题