Kotlin中的static,Kotlin中并没有static关键字,但是有类似Java中的static的用法,话不多说,代码如下:
把要设计为相当于Java中static的方法用 companion object{}包裹起来就可以了
class MApplication : Application() {
object list {
//用object修饰,相当于Java中的static,用object修饰一个变量,可以实现全局变量的效果
var list: ArrayList<Activity>? = null
}
override fun onCreate() {
super.onCreate()
}
companion object {//用companion object包裹方法,实现java中static的效果
/**
* 添加Activity到全局集合中,方便一键退出
*/
fun registerActivity(activity: Activity) {
list.list?.add(activity)
}
/**
* 退出activity
*/
fun exitActivity() {
list.list?.clear()//清空集合
System.exit(0)//退出虚拟机
}
}
}
使用方式和原来Java中static方法没什么不一样
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
MApplication.registerActivity(this)//调用相当于Java中的静态方法
}