Kotlin 中没有static 关键字,Java中的静态变量一般这样声明


public static final int CUTIMG = 0;
静态方法


public static void checkDir(@NonNull String paramString) { File localFile = new
File(paramString); if (!localFile.exists()) { localFile.mkdirs(); } }
Kotlin中实现类种的静态方法则是通过伴生对象 进行实现,如下


class LogUtil { object Object { const val MAX = 239 } public val Test = "Test"
companion object{ //设为false关闭日志 var LOG_ENABLE = true fun i(tag: String, msg:
String) { if (true) { Log.i(tag, msg) } } @JvmStatic fun d(tag: String, msg:
String) { if (LOG_ENABLE) { Log.d(tag, msg) } } @JvmStatic fun w(tag: String,
msg:String) { if (LOG_ENABLE) { Log.w(tag, msg) } } fun e(tag: String, msg:
String) { if (LOG_ENABLE) { Log.e(tag, msg) } } } }



伴生对象声明就是 companion object ,后面可以加一个方法 companion object ,方法前有@JvmStatic
 才属于静态方法,没有的不算静态方法,但也能调用运行不会报错,没有找到官方这种声明具体有什么不同




其他地方调用的时候就是和Java一样了


LogUtil.i("tag","msg") LogUtil.LOG_ENABLE =false

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信