您的位置:首页 > 其它

Kotlin进阶学习

2017-12-01 22:46 176 查看
1、异常处理

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、闭包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kotlin