kotlin基本语法

2020-11-17  本文已影响0人  书虫大王X

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言,Kotlin语言被赞誉为Android世界里的Swift,简单概括就是:

Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
1、问号表达式:

2、判空表达式:

image.png

判断范围:


image.png

when语句赋值:


image.png
for循环:
image.png
image.png
image.png
Kotlin语法:

1、重写方法必须以override开头进行标识
2、类和方法默认都是不能被重写的,要重写必须以open开头进行标识
3、支持单继承,用:连接要继承的父类
4、类的三大特性:封装 、继承、多态
多态:
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。对不同类的对象发出相同的消息将会有不同的行为,多态在接口中的实现(统一接口):


image.png
image.png
image.png

属性:
1、kotlin类的属性声明的时候必须初始化


image.png
2、属性的变量在声明时默认提供set、get方法,可以重写setget方法,如果不想要set或get方法: image.png
3、在变量后面加 ?,表示可空
image.png
4、懒加载:

定义了一个变量,但是在定义时并没有值,在被访问的时候才有值


image.png
延迟加载:
一个变量肯定有值,但是不知道什么时候会有值,可以使用延迟加载;但是必须在某个时刻被初始化:
image.png

函数:
Unit:跟java中的void类似,表示返回值为空

class a( a: Int) 与class a(val a: Int)的区别:
class a(a: Int)就是给a类传递一个参数;而class a(val a: Int)相当于给 a 
类定义了一个属性,内部、外部都可以访问

抽象类:


image.png for循环
image.png

反射:

只知道一个类的名字、方法名、属性名,进而调用其具体功能
反射的具体规则需要自己创建

image.png
image.png
image.png

注解(annotation):

annotationTarget(注解对象):
class 类
constructor 类的构造函数
property 属性
file 文件
function 函数
VALUE_PARAMETER函数的参数
注解三个值对应的作用域:


image.png

协程的优点:

1.很容易离开主线程。我们试过很多方法来让操作远离主线程,AsyncTask、Loaders、Executorservice …甚至有开发者用到了RxJava。但协程可以让开发者只需要一行代码就完成这个工作,而且没有累人的回调处理。
2.样板代码最少。协程完全活用了Kotlin语言的能力,包括suspend方法。编写协程的过程就和编写普通的代码块差不多,编译器会帮助开发者完成异步化处理。
3.结构并发性。这个可以理解为针对操作的垃圾搜集器,当一个操作不再需要被执行时,协程会自动取消它。

线程的缺点:
线程与线程之间通信
线程依赖
线程切换

java中UI线程为主线程,也只有主线程才能操纵UI界面

上一篇 下一篇

猜你喜欢

热点阅读