《第一行代码:Android》第三版3.7.3静态方法

可以在类的某个方法前面添加:companion object,这样的话实际上Kotlin会为你创建一个伴生的类,而且只能创建这么一个,这样这个方法就可以象静态方法那样直接调用了。来看看下面的代码:

/**
 * You can edit, run, and share this code.
 * play.kotlinlang.org
 */

fun main() {
    println("Beginning:Hello, world!!!")
      
    //Util.doAction1()
    Util.doAction2()
}
class Util{
          fun doAction1(){
              println("do Action1")
          }
       companion object{   
          fun doAction2(){
              println("do Action2")
          }
          }
      }

doAction1()是普通的方法,是不可以直接用Util.doAction1() 这样调用的,运行不了地。

doAction2()放在了companion object这个类中,它就可以像静态方法那样调用了:Util.doAction2()是可以运行的。

但是使用companion object这种方式并不是真正的静态方法。

真正的静态方法的办法是:使用注解和顶层方法。

注解就是添加:@JvmStatic 在方法的前面 ,这个@JvmStatic注解只能用在单例类或者companion object之中。

/**
 * You can edit, run, and share this code.
 * play.kotlinlang.org
 */

fun main() {
    println("Beginning:Hello, world!!!")
      
    //Util.doAction1()
    Util.doAction2()
}
class Util{
          fun doAction1(){
              println("do Action1")
          }
       companion object{   
           @JvmStatic//用了这个注解,我就是纯粹的静态方法了
          fun doAction2(){
              println("do Action2")
          }
          }
      }

顶层方法:就是那些没有定义在任何类中的方法。首先创建个kotlin文件,把方法直接写在里面,然后就可以到处使用了。这个创建文件似乎在这个在线的play.kotlin.org 中也做不成,就不演示了。可以理解为就是我们学过的最朴实的一个函数,C语言当中的函数,没有类,直接写,然后就可以到处使用了,因为它们是顶层方法

你可能感兴趣的:(android)