Kotlin 最基础语法
var : 可变变量
var age:Int=10
val : 不可变变量(非常量)
val name:String="小米"
可为空变量
var height:Int?=null
不可为空变量不可赋值为空,若非如此则需使用 !! ,表示断言
例:age=heighe!!
kotlin 字符串模板
fun pl(str:String):String{
println("这是个字母:$str")
return str
}
kotlin 与Java 代码互调
语法变化
1.匿名内部类的调用
//已object开头的类,表示匿名内部类
object Test{
fun sayMes(mag:String){
println("$msg")
}
}
java 类中调用 kotlin匿名内部类code Test.INSTANCE.sayMes("a")
kotlin 类中调用kotlin匿名内部类code Test.say("b")
2.class 为参时的传参方法
java code TestMain.class
kotlin code TestMain::class.java
3.kotlin 与java 在关键字上的冲突
public class JavaMain{
public static String in="in"
}
在kotlin 中 in 是一个关键字,在调用该变量是需要加反引号解决这个冲突,如下
JavaMain.`in`
新手使用kotlin 常遇到的问题
1.kotlin 没有包装类(但可以通过反射调用)
2.kotlin 类型空值敏感
3.kotlin 没有静态变量与静态方法
object Test{
// 在kotlin 中可以通过JvmStatic 这个注解,修饰一个静态方法
//@JvmStatic既可以修饰属性,也可以修饰方法;而@JvmField只能修饰属性
@JvmStatic
fun sayMes(mag:String){
println("$msg")
}
}
使用JvmStatic 修饰后java 类中调用 kotlin code Test.sayMes("a")
kotlin 类中调用kotlin匿名内部类code Test.sayMes("b")