Kotlin进阶学习
2017-12-01 22:46
176 查看
1、异常处理
2、递归
阶乘
尾递归
3、类的实例化
4、继承open
5、抽象类
6、接口
7、委托和代理
8、单例模式
9、枚举
10、sealed class
11、闭包
try { } catch (e: Exception) { }
2、递归
阶乘
fun fact(num: BigInteger): BigInteger { if (num == BigInteger.ONE) { return BigInteger.ONE } else { return num * fact(num - BigInteger.ONE) } }
尾递归
tailrec
3、类的实例化
class Rect(var height: Int, var width: Int) { fun addC() { } } fun main(args: Array<String>) { var rect01 = Rect(20, 10) rect01.height rect01.width rect01.addC() }
4、继承open
open class Father { var chactor : String = "性格内向" open fun action (){ println("公共场合喜欢大声喧哗") } }
class Son : Father(){ override fun action(){ println("公共场合有礼貌") } }
5、抽象类
abstract class Human(var name: String) { abstract fun eat() }
class Man(name: String) : Human(name) { override fun eat() { } }
var person = Man("xiaoming") person.eat()
6、接口
interface Woman { }
7、委托和代理
interface Human { fun baby() }
class Woman : Human{ override fun baby() { } }
class Man: Human by Woman(){ override fun baby() { Woman().baby() } }
8、单例模式
object Woman : Human{ override fun baby() { } }
9、枚举
enum class Week { 星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日 } fun main(args: Array<String>) { Week.星期一.ordinal//第几个元素,从零开始 }
10、sealed class
sealed class Son { fun sayHello(){ } //子类类型有限 class xm() : Son() class xg() : Son() } fun main(args: Array<String>) { var s1 :Son = Son.xg() var s2 :Son = Son.xm() var list = listOf<Son>(s1,s2) }
11、闭包
相关文章推荐
- 分布式进阶(十四)分布式开发学习感触
- JavaScript学习笔记 - 进阶篇(2)- 数组
- c++进阶学习计划
- ruby -- 进阶学习(十四)设置background-image(解决无法获取图片路径问题)
- [iOS进阶]SDWebImage 学习小结
- ruby -- 进阶学习(八)自定义方法route配置
- 学习kotlin第一天
- Kotlin 学习笔记(1)基本语法
- hadoop学习进阶
- 移动产品设计进阶 ---- 移动产品深化学习
- Java进阶学习路线图
- JAVA的进阶学习之路,从入门到中级
- ORACLE进阶(十一)MERGE INTO学习
- Android开发,Kotlin的了解与学习(五)-----基本语法之集合相关
- Android学习进阶路线导航线路(附源码)
- SVN学习--进阶
- 学习 Kotlin 的 20 个实用资源
- CNTK深度学习进阶视频教程大纲及观看视频地址
- Kotlin基础学习(1)
- Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法