Kotlin入门-与java的差异【入门级】

在这里插入图片描述

基本类型

详情 请点击查看

KotlinJava差异理解
基本类型万物皆对象,基本类型也是对象基本类型不是对象融合了int和Integer,作统一管理
数字下划线增加数字下划线,更易读不支持增强数字的可阅读性
数值赋值会产生新对象基础类型不会产生对象增加了=== 值比较
数值转换必须要显式转换理解为Integer的话,其实也是要显式转换
位运算一堆符号用关键字
字符对比不可当数字可以自动转数字
字符串有"""原始字符串新增了"""功能
末尾有无分号无分号,系统自动添加有分号

条件判断

详情 请点击查看

KotlinJava差异理解
区间判断可以进行x…y的区间判断需要用< >进行范围判断Kotlin简化了常用的判断
when可跟任意判断逻辑进行组合java中是switch是对单一类型进行判断Kotlin简化了条件判断,并支持了多种条件

循环判断

详情 请点击查看

KotlinJava差异理解
for循环简化for循环索引和取值Kotlin简化循环中获取index、value
标签增加了标签功能Kotlin局部加强了循环的结束跳转

包、类和对象

详情 请点击查看

KotlinJava差异理解
包导入添加as关键字,支持别名不支持kotlin解决了包名冲突
构造函数添加了主\次构造函数概念引入了主\次构造函数后,简化了结构体的编码,如java单例模式中的private结构体
override相比java,对继承中,增强 改变的部分 的标注kotlin在安全方面的考量更多

属性

详情 请点击查看

KotlinJava差异理解
field引入了field字段kotlin解决了包名冲突
属性的getter&setter物理上聚拢跟属性相关的操作需要通过function进行操作kotlin更精简
变量的声明简化val 和var两种java是强类型语言
变量延迟初始化引入lateinit处理

接口

详情 请点击查看

KotlinJava差异理解
接口实现机制可指定super的基类只有一个基类

扩展

详情 请点击查看

KotlinJava差异理解
动态扩展动态扩展属性、函数,静态解析只能通过继承解决

数据类&密封类

详情 请点击查看

KotlinJava差异理解
数据类data快捷自动创建通过插件解决Kotlin提供了setter\getter\equals\toString等快捷生成的函数,更为便捷
密封类enum的扩展类。操作类型有限定,但是可以自动组合java无法二次组合

枚举类

详情 请点击查看

KotlinJava差异理解
枚举类代码量更少java代码多一些功能都可以实现,只是代码量区别

对象表达式和对象声明

详情 请点击查看

KotlinJava差异理解
单例模式object声明后天然单例,通过类名调用4种单例,各有区别,通过实例获取kotlin代码少多了,还避免的 内存模型的考虑
object和any新增了any,两者是编译期区别,运行期一样
private和非private函数返回值会不一样无差别
增加伴生对象增加了伴生对象伴生对象补偿了object类的初始化需求

别名

详情 请点击查看

KotlinJava差异理解
增加typealias使用typealias后名称更美丽kotlin考虑了视觉美观

委托

详情 请点击查看

KotlinJava差异理解
by关键字委托的快捷实现也可以实现
lazy懒加载新增了lazy关键字,懒加载更方便可实现,但需要编写实例化的语句
观察者模式增加Delegates.observable,变量变化已追踪需要统一的设置入口,编码要规范

泛型

详情 请点击查看

KotlinJava差异理解
out、in关键字支持型变不支持,需要通过T来约束实现类似的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值