我正在创建Kotlin类A1
,该类具有两个名称为show()
的函数。如何在同一类中具有两个具有相同名称和签名的函数?
class A1 {
companion object {
fun show() {
println("in A companion")
}
}
fun show() {
println("in A")
}
}
fun main(args: Array<String>) {
A1.show()
A1().show()
}
正如有人在评论中提到的,一个在类的伴随对象中,另一个是类的成员。
在Java中,第一个被翻译成A1.Compantion.show()
,后者被翻译成(new A1()).show()
。
我认为这里没有任何问题。