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需要用"文件名"."方法名"的格式对其进行调用

相关推荐
CodeCraft Studio14 分钟前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
QQ_43766431415 分钟前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
aramae16 分钟前
大话数据结构之<队列>
c语言·开发语言·数据结构·算法
封奚泽优39 分钟前
使用Python实现单词记忆软件
开发语言·python·random·qpushbutton·qtwidgets·qtcore·qtgui
Kiri霧1 小时前
IntelliJ IDEA
java·ide·kotlin·intellij-idea
liulilittle2 小时前
C++/CLI与标准C++的语法差异(一)
开发语言·c++·.net·cli·clr·托管·原生
daixin88482 小时前
什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?
java·开发语言·redis·缓存
你我约定有三2 小时前
RabbitMQ--消息丢失问题及解决
java·开发语言·分布式·后端·rabbitmq·ruby
张北北.2 小时前
【深入底层】C++开发简历4+4技能描述6
java·开发语言·c++
李永奉3 小时前
STM32-定时器的基本定时/计数功能实现配置教程(寄存器版)
c语言·开发语言·stm32·单片机·嵌入式硬件