0
点赞
收藏
分享

微信扫一扫

【Kotlin】Kotlin笔记13-静态方法(注解@JvmStatic,顶层方法)


Kotlin笔记12-标准函数和静态方法-注解@JvmStatic,顶层方法


7.2 标准函数和静态方法

  • 静态方法

​Java:​

public class Util{
public static void doAction(){
System.out.println("do Action);
}
}

序号

Tips

1

静态方法适合编写一些工具类的功能,其全局通用

2

Kotlin弱化静态方法概念,采用单例类

​Kotlin单例类:​

object

object Util {
fun doAction() {
println("do action")
}
}

如何将类中某一方法变成静态调用

companion object: 在类内部创建一个伴生类

​Example:​

class Util1{
fun doAction(){
println("do action1")
}

companion object{
fun doAction1(){
println("do action2")
}
}
}

序号

Tips

1

doAction2()定义为伴生类内的实例方法

2

调用Util.doAction2()实际调用了Util伴生对象的doAction2()

  • 真实的静态(注解和顶层方法)
  1. 注解(@JvmStatic)

@JvmStatic: Kotlin编译器编译成真正的静态方法

​静态方法:​

class Util {
fun doAction() {
println("do action1")
}

companion object {
@JvmStatic
fun doAction2 {
println("do action2")
}
}
}

序号

Tips

1

@JvmStatic只能加在单例类或companion object方法上

2

Kotlin,Java方法都可以静态调用

  1. 顶层方法

​Example:​

fun doSomething() {
println("do something")
}

序号

Tips

顶层方法

指没有定义在任何类中的方法

1

Kotlin编译器会将所有的顶层方法全部编译成静态方法

2

Java所有类必须定义在类中,没有顶层方法的概念

3

Kotlin编译器会自动创建一个叫HelperKt的Java类,顶层方法以静态方法的形式定义其中

4

Java:可以采用HelperKt.doSomething()


举报

相关推荐

0 条评论