有个能写文章做任务的网站,网站企业建设公司排名,wordpress ui iphone,wordpress安装指令在习惯java的开发之后#xff0c;使用kotlin进行编码#xff0c;总有那么些不自然。 静态类的定义#xff1a;
全局静态(实际上是单例模型)
直接将类声明为object#xff0c;那么所有的函数也就静态的了#xff0c;这种一般适用于各种util的类。
object UIUtil {fun to…在习惯java的开发之后使用kotlin进行编码总有那么些不自然。 静态类的定义
全局静态(实际上是单例模型)
直接将类声明为object那么所有的函数也就静态的了这种一般适用于各种util的类。
object UIUtil {fun toast(context:Context,msg:String){Toast.makeText(context,msg,Toast.LENGTH_SHORT).show();}
}在kotlin代码中调用
UIUtil.toast(context,testmsg)在java类中调用
UIUtil.INSTANCE.toast(context,java invoke static test);
这里要注意在java类中一定要带上INSTANCE
部分静态伴生对象companion
别名方式staticRun调用时候是staticRun对象
class Foo {fun test(){Log.i(TAG,run)}companion object staticRun{val TAG:String fun test(){}}
}kotlin 调用Foo.test() java 调用Foo.staticRun.test(); 或
class Foo {fun test(){Log.i(TAG,run)}companion object {val TAG:String Foofun test(){Log.i(TAG,run)}}
}与别名方式不一样这里是默认的Companion对象 kotlin调用Foo.test() java调用Foo.Companion.test();
一个类中只能有一个 companion object 代码块上面两种定义方式不能同时在一个类中。
由此可见有kolin的空间里面没有“静态”的概念有java静态调用模型取而代之的是对象模型object。