Kotlin中实现静态

实现"类似静态"

Kotlin 复制代码
class Util {
    fun action1() {}

    //使用companion object关键字会在类的内部创建一个伴生类,每个类都允许有一个伴生类
    //而action2作为伴生类中的方法,可以直接通过类名进行调用,实现类似"静态"的效果
    companion object {
        fun action2() {
            println("This\'s action2!")
        }
}

实现"实质静态"

  1. 伴生类 + 注解
Kotlin 复制代码
class Util {
    fun action1() {}

        @JvmStatic
        fun action2() {
            println("This\'s action2!")
        }
}
  1. 顶层方法

Kotlin中的顶层方法指的是未定义在任何类中的方法,编译器会将所有顶层方法都编译为静态方法。Kotlin通过方法名即可直接调用顶层方法,而Java需要用"文件名"."方法名"的格式对其进行调用

相关推荐
MSTcheng.17 小时前
【C++】菱形继承为何会引发二义性?虚继承如何破解?
开发语言·c++
Lion Long17 小时前
C++20 异步编程:用future、promise 还是协程?
开发语言·c++·stl·c++20
lly20240617 小时前
Web 标准:构建高效、兼容、可访问的网络基石
开发语言
渡我白衣17 小时前
计算机组成原理(3):计算机软件
java·c语言·开发语言·jvm·c++·人工智能·python
m0_4711996317 小时前
【JavaScript】Map对象和普通对象Object区别
开发语言·前端·javascript
心.c17 小时前
《从零开始:打造“核桃苑”新中式风格小程序UI —— 设计思路与代码实现》
开发语言·前端·javascript·ui
小龙报17 小时前
【C语言初阶】动态内存分配实战指南:C 语言 4 大函数使用 + 经典笔试题 + 柔性数组优势与内存区域
android·c语言·开发语言·数据结构·c++·算法·visual studio
倔强菜鸟17 小时前
2025.11.21-GO语言入门(一)
开发语言·后端·golang
白露与泡影17 小时前
从 JDK 8 到 JDK 18,Java 垃圾回收的十次进化
java·开发语言·测试工具
一晌小贪欢17 小时前
Streamlit应用如何部署到 Streamlit Community Cloud(保姆级教程)
开发语言·阿里云·部署·部署上线·streamlit应用·streamlit部署