kotlin入門-擴展

1.爲現有類添加方法和屬性

2.對現有類添加屬性的時候不能直接賦值


--------------------------------------------kotlin代碼-------------------------------------------------------------------

/**
 * 擴展String的方法
 */
fun String.multi(int: Int): String {
    val sb = StringBuilder()
    for (i in 0 until int) {
        sb.append(this)
    }
    return sb.toString()
}

/**
 * 擴展String方法重寫操作符
 */
operator fun String.times(int: Int): String {
    val sb = StringBuilder()
    for (i in 0 until int) {
        sb.append(this)
    }
    return sb.toString()
}

/**
 * 擴展成員變量 必須要get方法
 */
val String.a: String
    get() = "aaa"

/**
 * 輸出結果:
abcabcabcabcabcabcabcabcabcabc
abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd
aaa
 */
fun main(args: Array<String>) {
    println("abc".multi(10))
    println("abcd" * 10)
    println("454".a)

}

--------------------------------------------java代碼----------------------------------------------------------------------

public class ExtendJava {
    public static void main(String[] args) {
        /**
         * 輸出結果=>abcabcabcabcabcabcabcabcabcabc
         * =>aaa
         */
        System.out.println(ExtendKt.times("abc", 10));
        System.out.println(ExtendKt.getA("345"));
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章