Kotlin 总结学习,温故知新

1.kotlin中函数

(1) kotlin中函数以fun关键字开头

(2) 返回值类型写在函数名后面

(3) java中无返回值是void,kotlin中无返回值是Unit

(4) 函数参数的写法是:参数名:参数名类型

(5) 函数可以直接写在文件中,也可以写在类中

 

2.kotlin中的变量

(1) 可读可写变量var、只读变量val

(2) val 相当于java中的final

(3) 变量申明:val 或者val 变量名 :变量名类型

(4) kotlin中对象申明不需要new关键字

(5) 变量申明不写类型也不会报错,类型推断

 

3.kotlin中的继承与实现

class MainActivity : AppCompatActivity(),View.OnclickListener{

}

4.kotlin中空安全设计

 

(1) 在变量类型右边加上问号,表示可空类型

(2) 调用时,在变量名右侧加上!!,强行不检测,可能引发空指针异常,不建议使用

(3) 调用时,在变量名右侧加上?.时,会先判断是否为null,为null时不调用,不为null时调用

(2) kotlin中申明变量必须有初始化值

 

5.kotlin中延时初始化

(1) 延时初始化 lateinit

(2) 被 lateinit 修饰的变量不能有初始值,也不能设置为null

 

6.kotlin中的类型判断与强转

(1) kotlin中的类型判断使用 is 关键字

(2) kotlin中的强转使用 as 关键字

 

7.kotlin中获取class

(1) example: 要获取MainActivity.class-->Kotlin中的写法是 MainActivity::class.java

 

8.kotlin中调用 set、get函数

(1) kotlin 中调用set、get函数时,kotlin会省略get、set

(2) example:

 private lateinit var userName: EditText
 userName = findViewById(R.id.et_username)
 val username: String = userName.text.toString()

9.kotlin中的数据类

(1) Kotlin中的数据类 data class Person{ }

(2) 注解:@JvmField 使用这个注解,可以在java中直接访问kotlin中使用这个注解的成员变量

(3) java 中的所有类都是 Object的子类;kotlin中所有类都是Any的子类

(4) 数据类会自动生成get/set

 

10.kotlin中的构造器 constructor

 

11.kotlin中定义静态函数

(1) 声明在文件中的函数是顶层函数,可以直接调用,如果文件名相同以包名来区分

(2) 在java中调用kotlin中的顶层函数,使用文件名+Kt调用

example:

kotlin中 Utils.method() 

java中调用kotlin代码:UtilsKt.method()

(3) 顶层函数在java中调用,可以通过注解 @file:JvmName("Utils") 来自定义名称

(3) 在Kotlin中如果一个类使用 object修饰,那么这个类就是个单例对象,所有的属性和函数都是使用单例来调用的

kotlin中调用:MyUtils.method()

java中调用kotlin代码:MyUtils.INSTANCE.method()

(4) 伴生对象 companion object,在java中调用,使用通过类名.Companion来调用

(5) 伴生对象中的常量使用const 修饰

(6) 通过@JvmStatic注解就可以使Kotlin函数变为静态函数,就不用通过类名.Companion来调用了

 

12.kotlin中的匿名内部类

(1) java中申明匿名内部类使用new关键字,kotlin中使用object

 

13.kotlin中使用when关键字代替switch case

14.java中使用enum 来定义枚举类,kotlin中使用enum class

15.java中使用@interface来申明注解,kotlin中使用 annotation class申明注解

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Kotlin实战)