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"));
}
}