码迷,mamicode.com
首页 > 其他好文 > 详细

Kotlin学习(2)

时间:2018-08-01 14:28:25      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:导入   方式   char   学习   ring   可变参   一个   lis   str   

 

集合:

  Kotlin可以使用Java声明集合的方法,也有自己的声明方式。

//Java方式
val a=ArrayList<Int>()

//Kotlin方式
val b=arrayListOf<Int>()

 


 

顶层函数和属性:

  Kotlin中没有static修饰符。

  为了消除静态工具类,Kotlin可以将函数或者属性写在 .kt 文件中,类的外面。

  类似于C语言中全局变量,如果是public属性(省略的话默认public),其他类可以直接使用这个变量(函数),不必声明。


 

扩展函数和属性:

  Kotlin支持在原有类的外面扩展自己想要的方法,比如我想给String对象添加一个可以获得最后一个字母的方法,不需要再去写一个类继承String,然后添加方法。

fun main(args: Array<String>) {
	println("Kotlin".lastChar())
}

//扩展函数 fun String.lastChar():Char{ return this.get(this.length-1) }

//扩展属性
fun String.lastChar:Char
         get()=get(length-1)

  为了防止偶然的命名冲突,使用扩展函数需要导入扩展函数。

  Kotlin中import可以导入一个类,也可以导入一个函数,比如扩展函数是Strings包中的顶层函数,可以 import Strings.lastChar ,当然也可以使用 * 来导入包中所有内容。

  扩展函数必须是顶层函数。不能写在类内部。

  扩展函数的静态属性决定了扩展函数不能被子类重写。


可变参数:

fun main(args: Array<String>) {
    bb(1,2,3,4,5)
}

fun bb(vararg a:Int){
    for (i in a){
        println(i)
    }
}

 

Kotlin学习(2)

标签:导入   方式   char   学习   ring   可变参   一个   lis   str   

原文地址:https://www.cnblogs.com/liumaowu/p/9400522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!