Kotlin支持操作符重载,通过在类中定义对应的函数来实现。操作符重载的函数需要使用关键字operator来修饰,同时需要满足一定的命名规则。
例如,可以通过重载plus操作符来实现两个对象相加的功能:
class Point(val x: Int, val y: Int) {
operator fun plus(other: Point): Point {
return Point(x + other.x, y + other.y)
}
}
fun main() {
val p1 = Point(1, 2)
val p2 = Point(3, 4)
val p3 = p1 + p2
println("(${p3.x}, ${p3.y})") // 输出 (4, 6)
}
除了常见的加减乘除等操作符,Kotlin还支持一些特殊的操作符重载,比如[]、in、…等。可以根据需求选择合适的操作符进行重载。