object關(guān)鍵字
object修飾的類屯远,表示是類內(nèi)部的所有方法以及變量都是靜態(tài)
java調(diào)用kotlin :
kotlin類 MyClass.kt:
class MyClass{
fun show2(info:String){
//todo
}
}
fun show1(info:String){
//todo
}
1、kotlin類外的方法捕虽,使用 [類名]+Kt.[方法名]調(diào)用慨丐;
如:MyClassKt.show1("調(diào)用kotlin類外的方法")
2、調(diào)用kotlin類內(nèi)的方法泄私,使用 new [類名].[方法名]房揭;
如:new MyClass().show2("調(diào)用kotlin類內(nèi)的方法")
kotlin 調(diào)用 java:
1、當(dāng)java中使用了kotlin中的關(guān)鍵字時(shí)晌端,需要使用單引號(hào)''轉(zhuǎn)義
如 :當(dāng)java使用in作為變量捅暴,導(dǎo)致in關(guān)鍵字沖突,那么在kotlin中這樣調(diào)用 JavaClass.'in'
2咧纠、java中的getxxx() 方法蓬痒,在kotlin中是默認(rèn)省略了get的,直接使用xxx進(jìn)行調(diào)用
如:java 中 String getName() kotlin中這樣調(diào)用:var str : String ? = JavaClass().name
其中漆羔?是表示可為空梧奢,因?yàn)?JavaClass().name是帶有!感嘆號(hào)的標(biāo)志钧椰。
3粹断、形參是java的類字節(jié) Class,形參是kotlin的類字節(jié)碼的調(diào)用方式:
fun main(){
//調(diào)用方式
show1(JavaClass::class.java)
show2(JavaClass::class)
}
//形參是Java類的字節(jié)碼
fun show1(class : Class<JavaClass>){
}
//形參是 kotlin類的字節(jié)碼
fun show(class:Class<KtClass>){
}