Kotlin学习过程 三 Kotlin基础语法二

来源:互联网 发布:java自动包装功能 编辑:程序博客网 时间:2024/06/05 05:40

这次还是说的是Kotlin的基础语法,这是最后一次将基础语法了,以后要开始在android上的实践了,不说废话了。

1 能够自动转换变量的类型

public fun sum1(){    var a = 5;    var b: Double = 20.2    val c: String = "大米"    Log.v("zzw","单价:$a")    Log.v("zzw","数量:$b")    Log.v("zzw","产品:$c 总计:${a*b}")}

2 函数的默认参数

public fun sum2(str: String):String =str

3 static方法,而我们调用这个函数和Java里调用static方法一样

public object StringUtils {    @JvmStatic fun isEmpty(str: String): Boolean {        return "" == str    }}

4 构造函数,它有主构造函数,写在类头里,还有次构造函数通过constructor这个方法名来写

class Person(private var name: String) {    private var description: String? = null    init {        name = "Zhang Tao"    }    constructor(name: String, description: String) : this(name) {        this.description = description    }    internal fun sayHello() {        println("hello $name")    }}

5 枚举类

enum class Programer {    JAVA, KOTLIN, C, CPP, ANDROID;}

6 单例类

class Person private constructor() {    companion object {        fun get():Person{            return Holder.instance        }    }    private object Holder {        val instance = Person()    }}

7 动态代理

interface Animal{    fun bark()}class Dog :Animal {    override fun bark() {        println("Wang Wang")    }}class Cat(animal: Animal) : Animal by animal {}fun main(args: Array<String>) {    Cat(Dog()).bark()}

8 伪多继承

class Person private constructor() {    interface Animal{        fun bark()    }    interface Food{        fun eat()    }    class Delegate : Animal, Food {        override fun eat() {            println("mouse")        }        override fun bark() {            println("Miao")        }    }    class Cat(animal: Animal, food: Food) : Animal by animal, Food by food {    }    fun main(args: Array<String>) {        val delegate: Delegate = Delegate()        Cat(delegate, delegate).bark()    }}

9 闭包

fun main(args: Array<String>) {    test}val test = if (5 > 3) {    print("yes")} else {    print("no")}

10 Lambda表达式

val printMsg = { msg: String ->    println(msg)}fun main(args: Array<String>) {    printMsg("hello")}

11 集合

open class Aopen class B : A()open class C : B()val mutableList: MutableList<B> = mutableListOf(B(), B(), C())val list: List<A> = mutableList;//创建一个 List<> 对象var list2 = listOf(0, 1, 2)//创建一个 Set<> 对象val ss = setOf(1, 2, 4)

下一次写个app应用

原创粉丝点击