摘要: /** 扩展:对既有的类增加新功能而无需继承该类,即无法获取其源代码* 主要作用:“立即”为相关类整体上添加“工具类”方法或属性* Kotlin支持:扩展函数,扩展属性**与接受者类中参数,名字都一样的扩展是无效的* 尽量避免与已有的名字重名,如果一定要重名,参数名和类型也要不一样* *///扩展函 阅读全文
posted @ 2017-06-23 17:10 张兮兮 阅读(495) 评论(0) 推荐(0) 编辑
摘要: /*** 接口 interface:方法、属性或一段功能的“蓝本”*仅仅是规定实现的标准(抽象的)* 通常用于对类进行附加功能,可以让类本身保持简洁的定义* 通过实现1个或N个接口组合,来实现非继承的功能增强* *///接口定义:interface 接口名{属性或方法}interface Livab 阅读全文
posted @ 2017-06-23 17:09 张兮兮 阅读(1407) 评论(0) 推荐(0) 编辑
摘要: /** 泛型Generics* 让一个类型能被“广泛”使用,即通用化,称之为“泛型”* 一般用于函数的参数类型定义,让函数更通用** */fun main(args: Array<String>) { println(2) println("泛型") //自定义一个泛型函数:<T>代表一个占位符,用 阅读全文
posted @ 2017-06-23 17:09 张兮兮 阅读(1285) 评论(0) 推荐(0) 编辑
摘要: /** 检查:对一个变量的类型进行辨别* 转换:把变量转换成其他类型使用* */fun main(args: Array<String>) { val a=5 val b=6 val c=if (a>b)"大于" else a-b //类型判断:is if (c is String) println 阅读全文
posted @ 2017-06-23 17:08 张兮兮 阅读(9236) 评论(0) 推荐(0) 编辑
摘要: /* *对可能发生执行异常的代码的一种保护措施 * 默认异常类 :EXception * * * */ fun main(args: Array) { //直接展示错误 try { "abc".toInt() }catch (e:Exception){ print(e) } //忽略错误 val a:Int?=tr... 阅读全文
posted @ 2017-06-23 17:07 张兮兮 阅读(365) 评论(0) 推荐(0) 编辑
摘要: /* * 有时候只是要对某个类进行轻微改造,供临时使用,避免继承 * 对象声明和表达式就很有用 *对面向对象编程的优化,避免一些继承导致的代价过高 * */ //对中国人来说,这个类,可能各省人适合继承 open class China(var name:String){ open val skin="yellow" } fun main(args: Array) { //但如果外... 阅读全文
posted @ 2017-06-23 17:06 张兮兮 阅读(295) 评论(0) 推荐(0) 编辑
摘要: /* * 枚举类:有限个类型的列举 * 其中的每一个称为枚举常量(可带初值),每一个以逗号分隔 * * * */ //扑克牌花色 enum class PoKerCard{ 红心,方片,梅花,黑桃 } //衣服尺码:带构造器的枚举 enum class Size(val height:Int){ S(150),M(160),L(170) } fun main(args: Arr... 阅读全文
posted @ 2017-06-23 17:05 张兮兮 阅读(2585) 评论(0) 推荐(0) 编辑
摘要: /* * 数据类:专用于只“保存”数据的类,比如用户自动登录信息,聊天记录等 * 这里的保存并不是指保存到磁盘,而是指转换成文本格式,便于保存 * Kotlin数据类:data class 类名(属性列表) * * */ data class Article(var id:Int,var title:String,var content:String) fun main(args: Ar... 阅读全文
posted @ 2017-06-23 17:04 张兮兮 阅读(758) 评论(0) 推荐(0) 编辑
摘要: /*2.7可见性修饰符 *设定类本身及其属性,方法,构造器 * 以及接口和对象的对外访问权限,即“可见性” *private 私有:仅当前类可见。最小的可见性 * protected 保护 :仅子类可见 * internal 内部:当前模块可见 * public 公开 :默认 对外完全可见 * * * 2.8嵌套类 * 类中可以嵌套其他类 * * * */ //新闻类 class News{ ... 阅读全文
posted @ 2017-06-23 17:03 张兮兮 阅读(321) 评论(0) 推荐(0) 编辑
摘要: /* * 定义:class 类名 constructor(属性列表){更多的属性和方法} * * 构造器:用来设置类的新实例的初始化 *open:被继承的类或属性关键字 * * */ open class Chinese constructor(var sex: Boolean,var region:String){ //普通属性,与变量定义相似 protected open var s... 阅读全文
posted @ 2017-06-23 17:02 张兮兮 阅读(1679) 评论(0) 推荐(0) 编辑
摘要: fun add(x: Int, y: Int): Int { return x+y } fun main(args: Array) { val b=add(5,6)//函数调用 println(b)//--->>11 println(sum(1,2,3,4,5,6))//--->21 val a= intArrayOf(1,2,3,4,5,6) ... 阅读全文
posted @ 2017-06-23 17:00 张兮兮 阅读(377) 评论(0) 推荐(0) 编辑
摘要: /* * 循环:for ,while 及循环控制 * * */ fun main(args: Array) { //for:1.依次操作一个序列中(数组)的每一项,执行次数是可预测的 val number= arrayOf(1,2,3,4) for (i in number) { print(i) } //2.重复执行:for(a in 1... 阅读全文
posted @ 2017-06-23 16:59 张兮兮 阅读(153) 评论(0) 推荐(0) 编辑
摘要: /* * 集合类型 Map:无序可重复 类似于“字典”的概念 * 主要属性:Keys(Set),values *主要方法: * * */ fun main(args: Array) { //mapof(Pair(key,value)....) //显示指定类型,可防止初始化值填写类型的错误 val airports= mapOf(Pair("PVG","浦东"),Pair... 阅读全文
posted @ 2017-06-23 16:57 张兮兮 阅读(11403) 评论(0) 推荐(0) 编辑
摘要: /* * 集合类型:Set 无序不重复 * 主要方法:交差并补 * */ fun main(args: Array) { //Set或setof(元素1,元素2.。。元素n) //大小固定,元素类型不可变 val mailLine= setOf("鱼洞","南坪","碧津","江北机场") val subLine= setOf("碧津","双凤桥","空港国际"... 阅读全文
posted @ 2017-06-23 16:56 张兮兮 阅读(2655) 评论(0) 推荐(1) 编辑
摘要: /* * 集合类型-数组 * 1.有序可重复-Array索引从0开始 * 2.无序不重复-set * 3.无序可重复-Map,但值有唯一的键 * */ fun main(args: Array) { //Array:Array或arrayof(元素1,元素2.元素3....元素n) //大小固定,元素类型不可变 // var stations= Array("重庆","... 阅读全文
posted @ 2017-06-23 16:55 张兮兮 阅读(9880) 评论(0) 推荐(0) 编辑
摘要: /* * 预期范围内恒定不变的量 * 定义:val 常量名 * 给一个常量一个值,叫赋值,形式:val 常量名 = 值 *等号前后有空格 * */ val p=3.14 fun main(args: Array) { print("π的值为${p}无限不循环数字") } /* * 变量: * 定义:var 变量名 *形式:var 变量名 = 值 *常量和变量:优先使用常量,若报错,会... 阅读全文
posted @ 2017-06-23 16:53 张兮兮 阅读(3389) 评论(0) 推荐(0) 编辑