当前位置: 首页 > news >正文

kotlin用object实现单例模式,companion object与java静态

kotlin用object实现单例模式,companion object与java静态

kotlin中很容易使用object实现java中的单例模式。由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。

//object相当于java的单例
object Singleton {var count: Int = 0fun out(msg: String? = "zhang") {println("$msg -- $count")count++}
}class MyClass {//相当于java的static finalcompanion object {fun mymethod() {println("方法 - ${object {}.javaClass.enclosingMethod.name}")}}
}fun main(args: Array<String>) {Singleton.out()Singleton.out()Singleton.out()MyClass.mymethod()
}

输出:

zhang -- 0
zhang -- 1
zhang -- 2
方法 - mymethod

可以看到object定义的Singleton只初始化一次。

http://www.lryc.cn/news/31933.html

相关文章:

  • 智慧楼宇中的“黑科技”
  • 炫云渲染质量功能测试
  • SpringBoot入门
  • D. Constant Palindrome Sum(差分数组维护)
  • 【C++】30h速成C++从入门到精通(IO流)
  • 文件变成chk如何恢复正常
  • Meta最新模型LLaMA细节与代码详解
  • 3/6考试总结
  • 产品经理必读书单
  • UEFI移植LVGL
  • RK356x U-Boot研究所(命令篇)3.8 test命令的用法
  • LCD液晶段码驱动IC/LCD液晶驱动芯片VK2C22高抗干扰/抗噪,适用于汽车仪表/单相智能电表
  • OpenMMLab 目标检测
  • Jenkins部署angular11自动打包
  • 【状态管理】zustand 中文文档,它来了!!!
  • 【时序】特征工程-时间序列特征构造
  • 【独家】华为OD机试 - 环中最长子串(C 语言解题)
  • JavaScript新手学习手册-基础代码(一)
  • Firewall App Blocker v1.7 防火墙管理设置工具多语言版
  • windows常用
  • 从源码的角度告诉你 spark是怎样完成对文件切片
  • 剑指 Offer II 019. 最多删除一个字符得到回文
  • RK3568驱动OV13850摄像头模组调试过程
  • Go项目的目录结构基本布局
  • CHAPTER 1 Linux Filesystem Management
  • RocketMQ架构篇 - 读写队列与生产者如何选择队列
  • 华为OD机试真题Python实现【通信误码】真题+解题思路+代码(20222023)
  • 【单目3D目标检测】MonoDDE论文精读与代码解析
  • 复习 Kotlin 从小白到大牛 第二版 笔记要点
  • X264简介-Android使用(二)