kotlin 与 java 区别

文章目录

  • 前言
  • kotlin 优势
  • kotlin与java 区别
  • 总结

前言

想想接触kotlin 也将近三年了,其实从java 切换到kotlin 没什么难的,就是心理上的畏惧罢了,真的去写,在项目中写出来,上手也是很快的。其实这个过程最难的就是会想,用kotlin 写会有什么问题,其实尽管你原来的项目是用java写的,完全不用担心的,是可以混着写的。

说再多,还不如自己亲自上手去写,且不说用什么高阶函数,一开始上手的时候,用最基础的就行,慢慢就习惯了。

现在kotlin 可以说是必备的了,因为很多开源库基本基本都是kotlin 写的,另外这个也是google主推的语言。

kotlin优势

kotlin有这么些好处:
1、空引用由类型系统控制,再也不会遇到NullPointerException。
2、使用高阶函数,就是可以将函数作为参数,或者作为返回值来使用。
3、给一个类扩展函数,不需要继承,直接通过类名+"." + 方法就可以。比如
fun MyClass.add(a:Int,b:Int) = a+b 就对MyClass扩展了一个函数。

kotlin与java 区别

接下来,列举kotlin 与 java 区别:

1、java 中的原始类是Object, 而在kotlin 中是Any。
Any 方法中只有equals(), hashCode(),toString()
2、kotlin 中的类型判断是is, 类型转换是as
is 相当于java的instanceof
3、kotlin 中默认的访问权限是public,就是类如果不写修饰符,默认是public
4、类默认是final, 如果这个类要被继承,就要加个修饰符open
5、kotlin 中没有switch 而是使用when, when 不仅支持String类型,还支持表达式,而且还能有返回值。
6、声明一个类直接就一行代码,比如 class Student(var name:String, var age:Int)
7、声明一个单例更简单,比如 object SingleInstance
8、实体类,直接通过data 来进行修饰。
data class Student(var name: String, var age: Int)
1、自动为成员生成 setter 和 getter
2、会自动重写 equals()/ hashCode() 和 toString()
3、data 类默认是final的,无法被继承。

9、kotlin接口中的方法可以写默认实现,java不行。
10、kotlin 的类名之外的函数,叫做包级函数,包括扩展函数,都是静态的。在编译的时候,
kotlin 就把所有的包级函放在一个类中,java 可以通过Student.getMessage()来调用。
class Student(var name: String, var age: Int){ }
fun getMessage(){
//todo
}
11、kotlin 通配符是*,不再是?。?一般放在申明变量是可null的。
12、kotlin 中没有static,用伴生类代替。
companion object{
var num: Int = 3
fun get(): Int{
return num
}
}
13、kotlin 中,函数是一种类型,可以把具体的函数当成对象传递,比如lambda表达式就是一个匿名函数
14、kotlin 有几个常用的标准高阶函数,比如run(), with(),apply(),alse(),let(),这几个在开发中使用,可以让代码看起来更整洁。

总结

语言更多的通过项目的实践,然后多写,慢慢就熟悉了。因为本身有java的开发经验,所以要用kotlin 写也不难的,另外开发工具还支持,拷贝java代码粘贴到kotlin文件就转化成kotlin的代码了,应急的时候这么做也是可以的。熟练之后,koltin开发还是很舒服的。

如果对你有一点点帮助,那是值得高兴的事情。:)
我的csdn:http://blog.csdn.net/shenshizhong
我的简书://www.greatytc.com/u/345daf0211ad

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 197,966评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,170评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 144,909评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,959评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,851评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,583评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,956评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,590评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,878评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,892评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,719评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,501评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,957评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,124评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,440评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,003评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,211评论 2 339