Kotlin学习笔记一(基础语法)

变量声明相关

// var声明变量
var age = 18 

//val声明一个不可变的变量,注意它和常量不是同一个概念。
val name:String = "wangjing"

//在数据类型后面加个一个?代表可以赋值null
var str1:String? = null
var str2:String = "str"

// !!表示强转,当你想让一个可为null的类型赋值给一个不可为null的类型时使用
str2 = str1!!

//声明一个返回一个str的方法, :String声明返回的类型,如果没有返回类型不就用加就像java中void一样。
fun method(str:String):String{
    println("输出这个str:$str")
    return str
}

Java与kotlin语法交互

Java与kotlin.kt文件方法之间的调用

//Utils.kt 中定义一个echo方法
fun echo(name:String){
    println(name)
}
//java中调用该方法 使用文件名+Kt 直接调用
public static void main(String[] args){
    UtilsKt.echo("form java");
}

Java 与kotlin Object 间的调用

//kotlin object
object Demo {
    fun sendMessage(msg:String){
        println(msg)
    }
}

//kotlin 调用
Demo.sendMessage("123")
//java调用
Demo.INSTANCE.sendMessage("java");

获取Class的实例

//java获取java类的Class
TestClass.class

//kotlin获取java类的Class,kotlin获取时使用的是双::
TestClass::class.java

//kotlin获取kotlin类的Class,kotlin使用的是自己的KClass,kotlin获取时使用的是双::
KotlinClass::class

Java和kotlin关键字冲突处理方法

//java类中定义一个属性(例如in)和kotlin关键字冲突时,
//kotlin要调用java的关键字需要使用用``转义
Main.`in`

kotlin中的基本数据类型,没有对应的封装类(就像java中int对应Integer)

kotlin调用java中数据的时,如果不能确定是否为null,一定要将kotlin的变量定义为可为null的(即加上?),

kotlin中没有静态变量和静态方法,可以使用@JvmStatic注解在指定的kotlin方法上,这样就可以在java调用静态方法的方式一样调用该方法。

object Test {
    @JvmStatic
    fun method(str:String):String{
        println("输出这个str:$str")
        return str
    }
}

//java中调用该方法
Test.method("123");

你可能感兴趣的:(Kotlin学习笔记一(基础语法))