Kotlin 是否可以动态更改实例的方法?
我写下了这段代码:Kotlin 是否可以动态更改实例的方法?,kotlin,Kotlin,我写下了这段代码: open class Test(){ override fun toString(): String { return "This is test!" } } fun createTestX(): Test { return object : Test() { override fun toString(): String { return super.toString() + "XXX"
open class Test(){
override fun toString(): String {
return "This is test!"
}
}
fun createTestX(): Test {
return object : Test() {
override fun toString(): String {
return super.toString() + "XXX"
}
}
}
fun main(args: Array<String>) {
val x = createTestX()
println(x)
}
你能做什么
你能做什么
val x = Test()
x.toString = () -> x.toString() + "XXX"
class C {
var example:()->String = this::toString
}
fun main(args: Array<String>) {
val c = C()
println(c.example())
c.example = {"ABCDEF"}
println(c.example())
}
class C {
var example:()->String = {"ABC"}
override fun toString() = example()
}
fun main(args: Array<String>) {
val c = C()
println(c)
c.example = {"DEF"}
println(c)
}
ABC
DEF