kotlin基础九

Kotlin 教程

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

1. 第一个 Kotlin 程序

Kotlin 程序文件以 .kt 结尾,如:hello.kt 、app.kt。

1) 最简版

package hello //  可选的包头
 
fun main(args: Array<String>) {    
    // 包级可见的函数,接受一个字符串数组作为参
    println("Hello World!")  // 分号可以省略
}

2) 面向对象

class Greeter(val name: String) {
   fun greet() { 
      println("Hello, $name")
   }
}
 
fun main(args: Array<String>) {
   Greeter("World!").greet() // 创建一个对象不用 new 关键字
}

2. 为什么选择 Kotlin

  • 简洁: 大大减少样板代码的数量。
  • 安全: 避免空指针异常等整个类的错误。
  • 互操作性: 充分利用 JVM、Android 和浏览器的现有库。
  • 工具友好: 可用任何 Java IDE 或者使用命令行构建。

<font face= 黑体>在 Java 中对象是最重要的,而在 Kotlin 中,方法才是最重要的,Kotlin 中方法是可以直接定义在文件里面的,不需要一定定义在类里面。

2.1、方法声明

<font face= 黑体>Kotlin 中一个方法的基本格式如下所示:

方法格式

<font face= 黑体>具体代码实现
fun plus(a: Int, b: Int): Int {
    return a + b
}
2.1.1、类的成员方法
<font face= 黑体>类的成员方法的写法
class Person {
       // 成员方法
    fun test1() {
        println("成员方法")
    }
}
<font face= 黑体>成员方法的调用方式
fun main() {
    Person().test1()
}
2.1.2、类方法(静态方法)

<font face= 黑体>Kotlin 中并没有 static 关键字,不过我们可以借助companion object(Kotlin 的伴生对象) 来实现类方法的目的。

<font face= 黑体>静态方法的写法
class Person {
    companion object {
        fun test2() {
            println("companion object 实现类方法")
        }
    }
}
<font face= 黑体>静态方法的调用
 Person.test2()
2.1.3、静态方法

<font face= 黑体>在 Kotlin 中如果我们想实现一个工具类 util 的话,可以借助 object 关键字,用 object 关键字修饰的类中的方法都是"静态方法"。

<font face= 黑体>object 修饰的类的写法
object NumUtil {
    fun double(num: Int): Int {
        return num * 2
    }
}
<font face= 黑体>静态方法的调用
println("umUtil.double(2): ${NumUtil.double(2)}")
2.1.4、单表达式方法

当方法返回单个表达式时,可以省略花括号并且在 = 符号之后指定代码体即可。

<font face= 黑体>单表达式方法的写法
fun double(x: Int): Int = x * 2

2.2、方法参数

2.2.1、默认参数

<font face= 黑体>在 Kotlin 中,可以给方法设置一些默认参数,当省略相应的参数时使用默认参数值。与 Java 相比,这可以减少重载数量。

<font face= 黑体>默认参数写法
// off 的默认值就是 0, len 的默认值就是 b.size
fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size) {

}
2.2.2、可变数量的参数

<font face= 黑体>在 Java 中利用 ...(比如 String...) 来设置可变类型的参数,在 Kotlin 中是通过 vararg 修饰符标记参数来实现可变参数的。

<font face= 黑体>可变参数写法
// 通过 vararg 修饰
fun append(vararg str: Char): String {
    val result = StringBuffer()
    for (char in str) {
        result.append(char)
    }

    return result.toString()
}
<font face= 黑体>可变参数方法的调用
println(append('h', 'e', 'l', 'l', 'o'))

2.3、方法作用域

<font face= 黑体>在 Kotlin 中方法可以在文件顶层声明,这意味着你不需要像 Java 那样需要创建一个类来保存一个方法。

<font face= 黑体>此外除了顶层方法,Kotlin 中方法也可以声明在局部作用域、作为成员方法以及扩展方法。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值