kotlin中的静态方法

注:以下仅为个人见解,如有错误,欢迎指出。


前言

kotlin中的静态方法一般通过单例类来实现,但是单例类实际上并不算真正意义上的静态,想要真正的静态方法,可以使用@JvmStatic注解或者定义顶层方法来实现。


使用单例类实现

全部为静态方法时

object ClassName{
    
    
    
}

这就完成了一个单例类的创建,将方法全都写进类中,方法就是静态方法。


仅需要部分方法为静态方法时

class ClassName {
    
    
		fun doSomething1() {
    
    
			//dosmething
        }
    companion object{
    
    
        fun doSomething2() {
    
    
			//dosmething
        }
        fun doSomething3() {
    
    
			//dosmething
        }
    }
}

其中doSomething1() 不是静态方法 ,doSomething2() doSomething3()是静态方法。

使用注解实现

class ClassName {
    
    
    companion object {
    
    
        @JvmStatic
        fun doSomething() {
    
    
            //dosomething
        }
    }
}

这样就将doSomething()定义成了真正的静态方法。

使用顶层方法实现

定义顶层文件
定义顶层文件,在该文件中定义的方法均为顶层方法,也是真正的静态方法。

  fun doSomething() {
    
    
			//dosmething
        }

最后

静态方法一般作为工具类来使用,除了注解方式不常用,其他在kotlin中非常常见。

猜你喜欢

转载自blog.csdn.net/liny70858/article/details/129045434
今日推荐