前言:对于不在一线城市奋斗的程序员,代码的更新速度远远慢于一线城市,因此在kontlin面世这么久之后我才在自己的一个新的项目中来自学这门语言,如果需要来寻找特定的java代码在kontlin中的使用方式,可能需要另外寻找新的文章
新的开始
在学习kontlin之前先去菜鸟教程里面看了一遍kontlin的基本语法,但是如果你并没有多敲几遍,而是一扫而过,其实过了几天就忘记的一干二净(其实并没有什么卵用,基础语法跟java并没有太多的不一样),然后又去网上各种一顿乱搜,找了个免费的kontlin百度云链接,在看目录的时候还是沾沾自喜的,还是出自黑马的一个大牛录制的课程,结果等我找个百度云网盘会员下载下来后,一看录制课程的时间,这兴趣当时就失去了一半,40多个视频结果总时长才4个小时.最后还是在某个周末的下午用2.5倍的速度给全部看完了.
由于是在别人已经搭好了一个基于retrifoit-rxjava的网络框架上开发的,纯kontlin都不带java代码的,那什么怎么配置kontlin这个我就不说了,kontlin就只有2种文件类型(class和file),类的继承是使用冒号,实现是使用的逗号,最让我佩服的还是不用findviewById,这是很便捷的一件事也是特别需要注意的事情,因为他是直接拿xml文件中的id直接去使用,如果你其他的xml里面也有相同的id,你导包不正确,可能就会出现意想不到的一些尴尬问题,特别是不报错的那种id导包.当然,一说到findviewById,平常我们的java代码是需要先找到这个id并初始化view,然后才是拿这个view进行一系列的操作,但是在kontlin里面哪里需要这么多的门道,直接id.run{} 里面就可以写你对应这个id的第一次进来的任何操作,run不当当仅限于view,所有的实体类都可以使用.当然kontlin的类试这种函数还有好几个,如:{run,let,apply,with}以下是这些函数的用法
另外在说下val跟var的区别,注意:最大的区别就是val 是常量,只能赋值一次,var是变量.跟什么java的基本类型,封装类没卵关系,都能使用
在说一个比较诧异的事情,kontlin有一个专门封装数据类,建一个新的kontlin的file文件,在class前面加上data就OK了,然后写上对应的参数名字跟对应的类型,它会自动给你在编译的时候生成set,get,toString,所有参数都包含的构造方法(不包含无参构造,以及其他特殊参数的构造),要想写有参构造的重写方法,请参下图
可能还有更多的语法以及跟java不同的地方,希望看到这边文章的童鞋能够互相交流,本文纯属一篇是自己在学习过程中的一些体会,如有地方没写好,海谅!!