您的位置:首页 > 其它

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

2017-06-13 21:00 399 查看
这次还是说的是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 A
open 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应用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: