实现"类似静态"
Kotlin
class Util {
fun action1() {}
//使用companion object关键字会在类的内部创建一个伴生类,每个类都允许有一个伴生类
//而action2作为伴生类中的方法,可以直接通过类名进行调用,实现类似"静态"的效果
companion object {
fun action2() {
println("This\'s action2!")
}
}
实现"实质静态"
- 伴生类 + 注解
Kotlin
class Util {
fun action1() {}
@JvmStatic
fun action2() {
println("This\'s action2!")
}
}
- 顶层方法
Kotlin中的顶层方法指的是未定义在任何类中的方法,编译器会将所有顶层方法都编译为静态方法。Kotlin通过方法名即可直接调用顶层方法,而Java需要用"文件名"."方法名"的格式对其进行调用