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

Kotlin object

object 的三种用法

Kotlin 的 object 关键字有三种用法:

  • 对象声明 ,一般用来实现单例
  • 伴生对象 ,类似 Java 的 static 关键字,也可以用于工厂方法模式
  • 对象表达式 ,一般用来代替 Java 的匿名内部类

 对象声明

object 的语义是这样的: 定义一个类并创建一个实例 。不管是对象声明,还是下面会说到的另外两种用法,都是遵循这一语义的。

作为对象声明,它可以直接用来实现单例模式:

object Singleton{fun xxx(){}
}

直接 Decompile 看 Java 代码:

public final class Singleton {public static final Singleton INSTANCE;public final void xxx() {}private Singleton() {}static {Singleton var0 = new Singleton();INSTANCE = var0;}
}

从 Java 代码中可以看出来,显然这是一个单例模式。

  • 私有构造函数
  • 通过静态字段对外
http://www.lryc.cn/news/328079.html

相关文章:

  • 【Redis】数据类型、事务执行、内存淘汰策略
  • Python Flask Web框架初步入门
  • 【设计模式】工厂方法模式详解
  • 独立游戏《星尘异变》UE5 C++程序开发日志3——UEC++特供的数据类型
  • 递归方法的理解
  • css之flex布局文本不换行不显示省略号的解决方法
  • 华清远见STM32U5开发板助力2024嵌入式大赛ST赛道智能可穿戴设备及IOT选题项目开发
  • 若依框架实现不同端用户登录(后台管理用户和前台会员登录——sping security多用户)
  • 【解決|三方工具】Obi Rope 编辑器运行即崩溃问题
  • 岭师大数据技术原理与应用-序章-软工版
  • Leetcode 680. 验证回文串 II
  • 网络安全接入认证-802.1X接入说明
  • iPhone的iOS系统:定义移动智能体验,引领科技潮流之巅
  • 计算机网络:传输控制协议(Transmission Control Protocol-TCP协议
  • GEE实践应用|热岛效应(一)地表温度计算
  • Java查找算法知识点(含面试大厂题和源码)
  • 67、yolov8目标检测和旋转目标检测算法部署Atlas 200I DK A2开发板上
  • A Little Is Enough: Circumventing Defenses For Distributed Learning
  • 文心一言 VS 讯飞星火 VS chatgpt (225)-- 算法导论16.3 7题
  • 【计算机】——51单片机——持续更新
  • QT资源添加调用
  • LeetCode-49. 字母异位词分组【数组 哈希表 字符串 排序】
  • 绘制特征曲线-ROC(Machine Learning 研习十七)
  • .Net 知识杂记
  • 海豚【货运系统源码】货运小程序【用户端+司机端app】源码物流系统搬家系统源码师傅接单
  • 01---java面试八股文——mybatis-------10题
  • 增强现实(AR)的开发工具
  • 用Unity制作正六边形拼成的地面
  • Spark部署详细教程
  • 慧天[HTWATER]:创新城市水务科技,引领行业变革