从零开始学Kotlin-使用接口(7)】的更多相关文章

从零开始学Kotlin基础篇系列文章 定义接口 使用关键字interface定义接口 interface InterfaceDemo7 { } 类或对象可以实现一个或者多个接口 class demo7 : InterfaceDemo7 { } class demo : InterfaceDemo71, InterfaceDemo72 { } 接口中定义属性 接口中的属性只能是抽象的,不允许初始化值 interface InterfaceDemo7 { val name: String var g…
Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. String str=new String(); 现在学了Kotlin之后呢,实例化对象只需要这样做 var str=String(); ....剩下的语法差不多... 一个下载图片的案例: 高级开发程序员:用gradle编程. 我学的和这个资源学的一样:https://www.jianshu.co…
面向对象: //妹子 性格 声音 class Girl(var chactor:String,var voice:String) fun main(args: Array<String>) { var girl=Girl("彪悍","甜美") println("声音"+girl.voice) } 行为 //妹子 性格 声音 class Girl(var chactor:String,var voice:String){ //行为 fu…
1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在toklin中所有的class都是kclass 5.如果调用字段起冲突使用两个反引号''包裹进去 6.如果有基本数据类型和包装类型会认为是同一个,没有包装类型一说,如何调用包装类型反射可以. 7.传入字符串如果自己不确定是否为空,可让代码为空安全,第三种 8.@JvmStatic可以让方法称为publi…
kotlin函数和函数式表达式的简化写法: fun main(args:Array<String>) { var result=add(2,5) println(result) ///简化-->2 var i={x:Int,y:Int->x+y} var result2=i(2,5) println(result2) ///简化-->3 var j:(Int,Int)->Int={x,y->x+y} var result3=j(2,5) println(resul…
Kotlin的方法: 一个简单的计算器: fun main(args:Array<String>){ //主函数main方法 var a=8; var b=9; println(plus(a,b));//17 println(sub(a,b));//-1 println(mutl(a,b));//72 println(devide(a,b));//0,int取整了 } /** * 加法 */ fun plus(a:Int,b:Int):Int{ return a+b; } /** * 减法 *…
函数式编程入门: package EL fun main(args: Array<String>) { var names= listOf<String>("tom","jerry","lucy") //String ->Unit 函数类型 参数为字符串 返回值为 Unit //1.复杂写法 names.forEach(print) //2,简单写法 names.forEach{ //小括号换大括号,it代表参数 p…
字符串模板 fun main(args:Array<String>){ //主函数main方法 println(diaryGenerater("天安门")); } //字符串模板${} fun diaryGenerater(pla:String):String{ var Temp="""今天天气好,我们去${pla}玩,看到了${pla.length}个大字"""; return Temp; } 输出: 今天天气好…
从零开始学Kotlin基础篇系列文章 枚举的定义 一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类; 枚举常量用逗号分隔,每个枚举常量都是一个对象; enum class EnumDemo9 { RED, BLUE, BLACK, WHITE } 枚举初始化 每一个枚举都是枚举类的实例,它们可以被初始化;枚举类的主构造函数默认是私有的,初始化时需要在主构造函数中声明; enum class EnumDemo91(val rgb: Int) { RED(0xff0000), BLUE(…
从零开始学Kotlin基础篇系列文章 与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼. 泛型类的基本使用 泛型,即 "参数化类型",将类型参数化,可以用在类,接口,方法上 class DemoClass<T>(date: T) {//date是任意类型的,避免强转 var todayDate=date } 创建类的实例时我们需要指定类型参数 //指定泛型date为String,三种创建方法 val demo1: DemoClass<…
从零开始学Kotlin基础篇系列文章 什么是扩展函数 扩展函数数是指在一个类上增加一种新的行为,我们甚至没有这个类代码的访问权限: Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式: 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响. 扩展函数 扩展函数可以在已有类中添加新的方法,不会对原类做修改: //扩展函数定义形式: fun receiverType.functionName(params){ body } receiverType:表示…
从零开始学Kotlin基础篇系列文章 Kotlin中的超类Any Kotlin 中所有类都继承超类 Any 类 class demo6 //默认继承超类Any class demo6 : Any() Any类有三个默认的函数 override fun equals(other: Any?): Boolean { return super.equals(other) } override fun hashCode(): Int { return super.hashCode() } overrid…
从零开始学Kotlin基础篇系列文章 条件控制-if var a=10 var b=20 if(a>b) print(a) if(a>b){ print(a) }else{ print(b) } val max = if( a > b) a else b if ( a in 1..10){ print("a在1到10区间内") } 条件控制-when val x = 3 when (x) { 1 -> print("x 是1") 2 ->…
从零开始学Kotlin基础篇系列文章 冒号操作符 ":" 和 "::" :操作符用来定义变量.类的继承等 var name: String//定义变量 class MainActivity : AppCompatActivity()//继承类 ::可以用来得到类的Class对象 startActivity(Intent(this@MainActivity, SecondActivity::class.java))//得到SecondActivity对象 比较符&qu…
从零开始学Kotlin基础篇系列文章 基本数据类型 Kotlin 的基本数值类型包括 Byte.Short.Int.Long.Float.Double 等: 数据-------位宽度 Double-----64 Float------32 Long-------64 Int--------32 Short------16 Byte-------8 常量表示(不支持8进制) 十进制:520 长整型以大写的 L 结尾:5201314L 16 进制以 0x 开头:0x0F 2 进制以 0b 开头:0b…
从零开始学Kotlin基础篇系列文章 注释 //单行注释 /* 多行注释 */ /** * 多行注释 */ 定义变量/常量 变量定义:var 关键字 var <标识符> : <类型> = <初始化值> 常量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量) val <标识符> : <类型> = <初始化值> 常量与变量都可以没有初始化值,但是在引用前必须初始化 var name: String//不指定变量…
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 接口文档的使用 需…
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.网络监听接口…
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.拖拽接口 元素…
你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快递让你签收的形式,变为了你下班后去指定地方输入验证码取出你的快递就行了,再也不用麻烦保安大哥或者寄到公司后再带回家去,这个改变你不感觉大大方便了我们这些剁手党么?并且如果你买的是什么见不得人的东西,如什么情趣.什么娃娃的也并不那么尴尬了. 更神奇的是,去年有段时间我们公司的早餐都是有早餐柜子的,你提…
你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后,等一段时间回过头来看,这时候会去质疑这些字是不是自己写的. 我在每一年的七月总是会拿起笔去写一篇日志,来使自己对过去的一年产生一些仪式感.那问题来了:在程序的世界里,写日志的意义是什么? 日志存在的意义 毫无疑问,日志的意义就是为了记录.记录下程序执行的过程.调试信息.错误信息以及我们想要输出的信息…
论职业的重要性 问:为什么所有家长都希望自己的孩子成为公务员? 答:体面.有权.有钱又悠闲. 问:为什么所有家长都希望自己的孩子成为律师或医生? 答:体面.有钱.有技能. 问:为什么所有家长都不怎么知道「程序猿」这个职业? 答:不体面.没有钱,还要技能要技能要技能. 什么是 CORS ? 跨来源资源共享(Cross-origin resource sharing)是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版.与 JS…
深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的.「读写分离」并不是多么神奇的东西,也带不来多么大的性能提升,也许更多的作用的就是数据安全的备份吧. 从一个库到读写分离,从理论上对服务器压力来说是会带来一倍的性能提升,但你仔细思考一下,你的应用服务器真的很需要这一倍的提升么?那倒不如你去试着在服务器使用一下缓存系统,如 Memcached.Redis 这…
原文:[高德地图API]从零开始学高德JS API(八)——地址解析与逆地址解析 摘要:无论是百度LBS开放平台,还是高德LBS开放平台,其调用量最高的接口,必然是定位,其次就是地址解析了,又称为地理编码.地址解析,就是将地址转换为经纬度.而逆地址解析,就是将经纬度转换为地址.经纬度一般是由专业测绘机构用GPS采集,然后使用国测局接口加密,最后呈现在互联网地图上的.而地址,这里说的是结构化的带街道门牌号的地址,比如“北京市朝阳区阜通东大街6号”,这个地址是由公安局颁发的.而将地址和经纬度一一对应…
原文:[高德地图API]从零开始学高德JS API(五)路线规划——驾车|公交|步行 先来看两个问题:路线规划与导航有什么区别?步行导航与驾车导航有什么区别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自定义路线规划功能,这是别家没有做到的.导航,指的是为驾车用户提示路口信息,向左向右,进入匝道等信息. 2.我们这里说的步行导航和驾车导航,严格的说,应该是路线规划.从A地到B地,如果是驾车,路线规划会将公路路网做为搜索数据:如果是步行,过街天桥.…
原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件——测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ---------------------------------------------------------------…
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新…… github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 前言 昨天收到一个朋友的留言反馈,意思是说文章太多,找起来很麻烦,做个索引页就好了. 这个建议特…
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.Vue发送Aj…
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.面向对象 1.对象创建方式 1.1.调用系统函数创建对象 (创建对象的最简单方式就是创建一个 Object 的实例,然后再为它添加属性和方法.) var obj = new Object(); obj.name…
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.jQuery的…