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只初始化一次。
相关文章:
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: In…...
智慧楼宇中的“黑科技”
据不完全统计,无论是居家、办公、学习还是社交,人们有80%的时间都是在室内空间度过的。而随着社会生产力水平与人们消费理念的提升,用户对于楼宇建筑的使用要求也在不断提高,从最基本的舒适为先逐步朝着数字化、智慧化升级。 如果…...
炫云渲染质量功能测试
炫云已经支持优化渲染质量,分别是保守优化、中度优化和深度优化,使用后效果图的渲染时间会有所缩短,尤其对低版本V-Ray和参数设置不当的场景非常有效,能大幅提升渲染速度及节省渲染费用,当然最终效果图有可能有稍许差异…...
SpringBoot入门
文章目录前言一、约定大于配置二、使用步骤1.使用IDEA创建SpringBoot项目2.引入依赖3.测试三、application.properties和application.yml配置文件四、application.yml配置多环境五、测试:总结前言 SpringBoot并不是一门新的技术栈,它的主要目的是为了去…...
D. Constant Palindrome Sum(差分数组维护)
Problem - D - Codeforces 题意:给定长度为n的数组,每次操作可以选择一个数令a[i]变成[1,k]范围内的一个数,问最少需要多少次操作可以让a[i]a[n-i1]x (1< i < n/2)满足。 思路:利用差分数组d[i]表示x取i需要的总操作数。 …...
【C++】30h速成C++从入门到精通(IO流)
C语言的输入与输出C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的缓冲区来…...
文件变成chk如何恢复正常
许多人不知道chk文件是什么?其实它是用户在使用“磁盘碎片整理程序”整理硬盘后所产生的“丢失簇的恢复文件”,而在u盘、内存卡等移动设备读取数据过程中,由于断电或强制拔出也容易产生大量的chk文件。那么文件变成chk如何恢复正常呢…...
Meta最新模型LLaMA细节与代码详解
Meta最新模型LLaMA细节与代码详解0. 简介1. 项目环境依赖2. 模型细节2.1 RMS Pre-Norm2.2 SwiGLU激活函数2.3 RoPE旋转位置编码3. 代码解读3.1 tokenizer3.2 model3.2.1 模型细节详解3.2.2 transformer构建3.3 generate4. 推理0. 简介 今天介绍的内容是Facebook Meta AI最新提…...
3/6考试总结
时间安排 7:30–7:50 看题,T1,T2 感觉是同类型的题,直接搜索状态然后 dp 一下,T3 估计是个独角晒。 7:50–8:20 T3,有 n^2 的式子,然后可以优化到 n ,写暴力验证一下发现不对。很迷,反复推了几遍都拍不上暴…...
产品经理必读书单
产品经理必读书单,世界变化那么快,不如静下来读读书。在这个浮躁的时代,能够安静下来读书的人太少了。古人云,“读万卷书,不如行万里路,行万里路不如阅人无数”。很多人别说阅人无数了,上学的时…...
UEFI移植LVGL
自己组装过游戏主机的应该都有看到过,进入BIOS设置,酷炫的界面便呈现在眼前,而很多BIOS,使用的还是标准的界面。现在有个趋势,phoenix和insyde也在慢慢朝这种GUI界面发展,而AMI的使用C编写的界面已经非常完…...
RK356x U-Boot研究所(命令篇)3.8 test命令的用法
平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、test命令的介绍二、test命令的定义三、test命令的用法一、test命令的介绍 test 命令定义在cmd/test.c,需要使能以下配置: obj-$(CONFIG_HUSH_PARSER) += test.o以下介绍摘自cmd/Kconfig: config HUSH_PARS…...
LCD液晶段码驱动IC/LCD液晶驱动芯片VK2C22高抗干扰/抗噪,适用于汽车仪表/单相智能电表
产品型号:VK2C22A/B产品品牌:永嘉微电/VINKA封装形式:LQFP52/48、DICE(COB邦定片)、COG(邦定玻璃用)产品年份:新年份原厂,工程服务,技术支持!VK2C22A/B概述:VK2C22是一个点阵式存储映…...
OpenMMLab 目标检测
OpenMMLab 目标检测1. 目标检测简介1.1 滑窗2. 基础知识2.1 边界框(Bounding Box)3. 两阶段目标检测算法3.1 多尺度检测技术4. 单阶段目标检测算法4.1 YOLO: You Only Look Once (2015)4.2 SSD: Single Shot MultiBox Detetor (2016)5. 无锚框目标检测算…...
Jenkins部署angular11自动打包
可能年纪大了,对于新东西的学习和接收有点慢,花了差不多一周的时间,终于把jenkins配置好了,可以自动打包,与手动打出来的一样,以后就解放双手了。#!/bin/bashnpm cache clean -fnpm -vnode -vnpm install n…...
【状态管理】zustand 中文文档,它来了!!!
如果有兴趣了解更多用法及 api ,点击此处解锁中文文档 前言 是不是觉得 Redux 很难用?想用 Context 代替,但是你知道吗,Context 也有个很大的缺点: context value发生变化时,所有用到这个context的组件都…...
【时序】特征工程-时间序列特征构造
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。 特征工程是什么? 特征工程是利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的…...
【独家】华为OD机试 - 环中最长子串(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...
JavaScript新手学习手册-基础代码(一)
什么是JavaScript? 百度百科 什么是控制台? 网页➡快捷键F12 进入Console就是控制台,它的作用与开发软件相同,可以进行代码的编写在紫色位置进行编写,另外console.log()方法所打印的内容都是在此进行输出。 一&#…...
Firewall App Blocker v1.7 防火墙管理设置工具多语言版
Firewall App Blocker 是一款由 BlueLife 与 Velociraptor 开发的免费且功能强大的防火墙设置软件。在 Windows 操作系统中,您可以使用 Windows 防火墙来阻止或解除阻止某些应用程序的联网,然而微软并没有为 Windows 防火墙提供一个易于使用的界面,来让用户使用其强大的功能…...
开源清理工具OpenClearn:透明可控的数字垃圾管理方案
1. 项目概述:一个开源的“清洁工”如何重塑你的数字生活如果你和我一样,是个在数字世界里摸爬滚打了十几年的老鸟,那你电脑里肯定也有一堆“数字垃圾”。这些垃圾不是指那些过时的文件,而是那些你明明已经删除了,但操作…...
VR-Reversal终极指南:免费将3D VR视频转换为2D播放的完整方案
VR-Reversal终极指南:免费将3D VR视频转换为2D播放的完整方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.co…...
Vivado工程实战:在ZCU102上配置MIG控制器时,SLEW属性设置成SLOW还是FAST?
Vivado工程实战:ZCU102平台MIG控制器SLEW属性深度解析 在Xilinx ZCU102开发板上进行DDR4接口设计时,MIG控制器的配置往往成为项目成败的关键。许多工程师能够顺利完成基础配置,却在面对诸如SLEW属性这类"细微"参数时陷入选择困境。…...
终极CLIP-as-service指南:如何高效处理批量文本与图像嵌入任务
终极CLIP-as-service指南:如何高效处理批量文本与图像嵌入任务 【免费下载链接】clip-as-service 🏄 Scalable embedding, reasoning, ranking for images and sentences with CLIP 项目地址: https://gitcode.com/gh_mirrors/cl/clip-as-service …...
四通道32孔生物源性检测仪 肉源性检测仪器
四通道32孔生物源性检测仪搭载四通道48孔高通量检测架构,本少、效率低的短板,大幅提升肉类质检筛查效率。多通道独立运行互不干扰,可一次性完成大批量肉类样本同步检测设备检测精度优异,可精准识别各类常见动物源性成分࿰…...
Ruoyi微服务全家桶:从零到一的部署启动实战指南
1. 环境准备:搭建基础服务 第一次接触Ruoyi微服务全家桶时,我花了整整两天时间才把环境跑通。现在回想起来,如果当时有人告诉我这些关键步骤,至少能节省80%的时间。我们先从最基础的环境搭建开始,这是整个项目能够正常…...
3D模型格式转换终极方案:用stltostp轻松实现STL到STEP的专业转换
3D模型格式转换终极方案:用stltostp轻松实现STL到STEP的专业转换 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 你是否曾遇到这样的困境:3D打印的STL模型无法在专业CAD…...
BilibiliDown:如何轻松下载B站视频的终极免费工具指南
BilibiliDown:如何轻松下载B站视频的终极免费工具指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/b…...
Source Han Serif CN:7款免费开源字体如何重塑你的中文排版体验
Source Han Serif CN:7款免费开源字体如何重塑你的中文排版体验 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在数字内容爆炸的时代,选择一款优秀的中文字体往…...
CircuitPython嵌入式开发:从代码编辑、串口调试到库管理的完整工作流
1. 从零开始:CircuitPython的嵌入式开发哲学如果你和我一样,是从Arduino或者传统的C语言嵌入式开发转过来的,第一次接触CircuitPython的感觉,大概就像从手动挡汽车换到了电动车。那种“拧钥匙、挂挡、踩离合”的繁琐步骤ÿ…...
