Kotlin静态类,静态⽅法整个静态类:
object StaticUtil{
fun method()
...
}
类中的部分静态⽅法
class StaticUtils {
companion object {// 包裹范围内属于静态⽅法
fun method()
...
}
}
全局静态
直接新建⼀个 Kotlin file 然后定义⼀些常量,⽅法
val staticString = "这⾥也是全局静态字符串"
fun startIntent(context: Context, clazz: Class<*>, bundle: Bundle?) {
val intent = Intent()
intent.setClass(context, clazz)
if (bundle != null) {
intent.putExtras(bundle)
}
context.startActivity(intent)
}
补充:
我们平时写代码是肯定会有各种类型的⼯具类,⽐如:UserUtil, IntentUtil , DialogUtil … 等等, 那么在 Java 中,我们是这么写的:
class UserUtil{
public static void XXX(){
···
}
kotlin修饰符}
这种写法转换成 Kotlin 版本的可能是这样的:
object UserUtil{
fun XXX(){
}
}
也可能是这样的:
class UserUtil{
companion object {
fun XXX(){
}
}
}
那么不管上⾯的 Java 版本,还是 Kotlin 版本,最终的调⽤⽅法都还是⼀样的:
UserUtil.XXX()
我们上⾯说到了⼀个 全局静态 的写法,那么,其实我们在项⽬中写⼯具类时,完全可以⽤到这种写法,⽐如,
新建⼀个 name 为 : UserUtil 的 Kotlin file,也就是 .kt ⽂件,然后,直接写出我们上⾯⼯具类中的⽅法:
fun XXX(){
}
这种写法的好处就是,你在项⽬中根本不需要再去使⽤ UserUtil 类名去调⽤。
可能有⼈会问,这种直接写在 kt ⽂件中,和写在 class UserUtil 类中有什么区别,如果你能去看⼀下编译代码,你就知道了,其实都是⼀样的,编译结果跟 Java 静态⼯具类的写法没什么区别,你要⾮说区别的话,那就是 类 和 ⽅法 都多了⼀个 final 修饰符。。
另外就是,因为不⽤通过类名去调⽤⽅法了,所以,你⾃⼰要规范好写的静态⽅法名称,因为⼀旦⽅法或者 kt ⽂件过多的话, 就有可能会搞混乱。这点也是需要各位⾃⼰注意的。
⾄于项⽬中如何去⽤这⼏种写静态类的⽅法,就看各位的喜好了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。