美文网首页
Kotlin 函数4 - 函数重载与默认参数

Kotlin 函数4 - 函数重载与默认参数

作者: ChenME | 来源:发表于2018-07-27 15:30 被阅读106次

    Kotlin 函数4 - 函数重载与默认参数


    在 Kotlin 中可以使用默认参数的方式来代替函数的重载,就像下面这样:

    class FunctionOverloading {
    
        fun printComplex(real: Double = 0.0, imaginary: Double = 0.0) {
            println("$real + ${imaginary}i")
        }
    
        fun main(args: Array<String>) {
            printComplex() // 0.0 + 0.0i
            printComplex(1.0) // 1.0 + 0.0i
            printComplex(imaginary = 2.0) // 0.0 + 2.0i
            printComplex(1.0, 2.0) // 1.0 + 2.0i
        }
    }
    

    如果要用 Java 去调用 printComplex() 函数,你会发现参数需要全部传递,要不然编译器无法识别,因为 Java 并不认识默认参数,这个时候就需要用到 @JvmOverloads 注解了

    class FunctionOverloading {
    
        @JvmOverloads
        fun printComplex(real: Double = 0.0, imaginary: Double = 0.0) {
            println("$real + ${imaginary}i")
        }
    
        fun main(args: Array<String>) {
            printComplex() // 0.0 + 0.0i
            printComplex(1.0) // 1.0 + 0.0i
            printComplex(imaginary = 2.0) // 0.0 + 2.0i
            printComplex(1.0, 2.0) // 1.0 + 2.0i
        }
    }
    

    然后就可以在 Java 中随意调用了

    public static void main(String[] args){
        FunctionOverloading fo = new FunctionOverloading();
        fo.printComplex(); // 0.0 + 0.0i
        fo.printComplex(1.0); // 1.0 + 0.0i
        fo.printComplex(0,2.0); // 0.0 + 2.0i
        fo.printComplex(1.0,2.0); // 1.0 + 2.0i
    }
    

    相关文章

      网友评论

          本文标题:Kotlin 函数4 - 函数重载与默认参数

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