package com.av.bcacc.kotlinpai.api.basic.study
/**
* @description 顶层方法-实现静态
* @author wlhu
* @time 2022/12/3 16:11
* @email:2072025612@qq.com
*/
fun doSomeThing(){
println("doSomeThing")
}
package com.av.bcacc.kotlinpai.api.basic.study
/**
* @description kotlin静态类
* Kotlin极度弱化了静态方法的概念,因为有单例
* @author wlhu
* @time 2022/11/27 14:01
* @email:2072025612@qq.com
*/
object KotlinStaticClass {
fun doAction() {
println("singleton doAction...")
}
}
class Util {
fun doAction1() {
println("doAction1...")
}
companion object {
fun doAction2() {
println("companion object doAction2...")
}
@JvmStatic
fun doAction3(){
println("static mathod doAction3...")
}
}
}
fun main() {
println("hello kotlin ...")
println("------------------------【kotlin 静态方法使用001】-------------------")
println("1.单例模式实现静态方法调用###########################")
KotlinStaticClass.doAction()
println("2. companion object实现静态方法调用###########################")
println("companion object 关键字实际会生成一个Util的伴生类,Kotlin会保证Util类始终只会存在一个伴生类对象")
Util.doAction2()
println("------------------------【kotlin 静态方法使用002】-------------------")
println("注意:Kotlin确实没有直接定义静态方法的关键字,但是提供了一些语法特性来支持类似静态方法调用的写法,这些语法可以满足平时的开发需求")
println("注意:当然如果确实要实现静态方法Kotlin提供了两种方式实现:1.注解和顶层方法")
println("1:注解实现 @JvmStatic")
Util.doAction3()
println("2:顶层方法 创建Helper.kt文件(注意不是class) 定义doSomeThing方法,直接调用")
doSomeThing()
}
Kotlin 静态
最新推荐文章于 2024-05-16 09:59:33 发布