companion-关于kotlin中的Static

ops/2024/10/20 14:17:31/
companion object {const val PARAMETER_ID: Short = 506const val NULL_NAME: String = ""const val MAP_NAME_LENGTH: Int = 21const val SITE_NAME_LENGTH: Int = 21}

这段代码定义了一个 companion object,其作用是在 Kotlin 类中创建静态成员,即类的伴生对象。这些成员可以在不创建类实例的情况下直接通过类名访问。

companion object

  • 在 Kotlin 中,companion object 用来定义与类关联的静态成员。它类似于 Java 中的 static 成员,但 Kotlin 不支持 static 关键字,因此使用伴生对象来实现类似功能
  • 伴生对象里的成员可以通过类名直接访问,不需要创建类的实例。
class ExampleClass {companion object {const val PARAMETER_ID: Short = 506const val NULL_NAME: String = ""const val MAP_NAME_LENGTH: Int = 21const val SITE_NAME_LENGTH: Int = 21}
}fun main() {// 直接通过类名访问 companion object 中的常量println(ExampleClass.PARAMETER_ID)         // 输出: 506println(ExampleClass.NULL_NAME)            // 输出: ""println(ExampleClass.MAP_NAME_LENGTH)      // 输出: 21println(ExampleClass.SITE_NAME_LENGTH)     // 输出: 21
}


http://www.ppmy.cn/ops/127001.html

相关文章

AI驱动地球链在能源等行业发展,目的是训练AI发展EACO在能源(光伏储能)行业中的应用的探讨。

一、AI 驱动地球链eaco在能源行业发展概述 (一)AI 与地球链 地球链($eaco$eEarth - chain)是一种将各种与地球相关的数据、资源通过区块链技术进行整合和管理的概念。AI 驱动地球链,意味着利用人工智能的强大数据分析、…

【MySQL】入门篇—基本数据类型:使用ORDER BY进行排序

MySQL作为一种流行的关系数据库管理系统,提供了强大的数据查询功能,其中ORDER BY子句用于对查询结果进行排序。排序可以帮助用户更直观地查看数据,发现趋势或异常,尤其在处理大量数据时尤为重要。 应用场景: 用户管理…

论文翻译 | OpenICL: An Open-Source Framework for In-context Learning

摘要 近年来,上下文学习(In-context Learning,ICL)越来越受到关注,并已成为大型语言模型(Large Language Model,LLM)评估的新范式。与传统微调方法不同,ICL无需更新任何参…

VR全景在哪些行业有广泛的应用前景

VR全景技术在多个行业中展现出广泛的应用前景,随着虚拟现实技术的不断进步,720云VR全景的影响力也日益扩大。以下是一些具有潜力并广泛应用VR全景技术的行业: 1. 房地产行业 720云VR全景技术在房地产中的应用非常普遍,特别是在房…

Educational Codeforces Round 170 (Rated for Div. 2) (A~C)

文章目录 写在前面A. Two Screens思路code B. Binomial Coefficients, Kind Of思路code C. New Game思路code Educational Codeforces Round 170 (Rated for Div. 2) 写在前面 这场比赛打的巨烂,前几周没有认真学算法,这周刷了几道题就直接打了这场比赛…

基于SpringBoot+Vue+uniapp微信小程序的校园反诈骗微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

electron-vite_8修改版本号和出品公司名称

当使用electron-builder是打包的时候,只需要在package.json中修改2个地方就可以了; 找到package.json // 版本号 "version": "1.0.0", // 出品公司 "author": "xx科技股份有限公司",怎么判断是否修改成功,win举例 比方说…

CEEMDAN +组合预测模型(Transformer - BiLSTM + ARIMA)

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享! EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(一)EMD-CSDN博客 EMD、EEM…