美文网首页
1.0 类和函数

1.0 类和函数

作者: kavenka | 来源:发表于2018-08-22 22:25 被阅读0次

    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()
        }
    

    相关文章

      网友评论

          本文标题:1.0 类和函数

          本文链接:https://www.haomeiwen.com/subject/ydmgbftx.html