1.0 类和函数

2018-08-22  本文已影响0人  kavenka

1.1 定义一个类

/**
 * 定义一个类,只需要class关键字
 * 类有一个默认的构造函数,类名后面写上它的参数
 * 参数都是先写名字,再冒号,再加类型
 */
class Person(name: String, surname: String) {
    //构造函数的函数体可以写在init中
    init {
        ...
    }
}

1.2 类继承

/**
 * 默认任何类都是基础继承自Any
 * 所有的类默认都是不可继承的(final),只能继承明确声明open或者abstract的类
 */
open class Animal(name: String)

/**
 * 当Person类只有一个构造器时,需要在给父类传需要的参数,类似Java的super
 */
class  Person (name: String,surname: String) : Animal(name)

1.3 函数

   /**
     * kotlin中的函数定义以fun接函数名
     * 参数在括号内并且需要声明类型,多个参数以逗号隔开
     * 可以为参数指定默认值,调用是可以传入第二个参数或者不传,避免重载函数
     * 返回值也用冒号隔开
     */
    fun sum0(a: Int, b: Int=2): Int {
        return a + b
    }

    sum0(3)
    sum0(2, 3)

    /**
     * 这是sum0方法的简化
     * 只有一个表达式函数体
     * 并且自推导返回值的类型
     */
    fun sum1(a: Int, b: Int) = a + b

    /**
     * 没有返回值,也就是返回一个没有意义的值Unit,这个可以省略
     * 使用$符号表示可以插入一个表达式,表达式复杂的话需要使用${}
     */
    //fun printSum(a: Int, b: Int): Unit {
    fun printSum(a: Int, b: Int) {
        Toast.makeText(this, "sum of $a and $b is ${a + b}", Toast.LENGTH_SHORT).show()
    }
上一篇下一篇

猜你喜欢

热点阅读