1、
fun main(args: Array<String>) {
val a=10
val b=20
println(a + b)
}
我们看下这个加号代表的含义
点进去发现其实调用的是这个方法
/** Adds the other value to this value. */
public operator fun plus(other: Int): Int
于是,我们也可以这样写
fun main(args: Array<String>) {
val a=10
val b=20
println(a.plus(b))
}
我们能不能对自定义的对象执行“+”操作呢?比如,两个Person对象,我们认为两个Person对象相加就是他们的年龄相加
2、两个Person对象相加‘
fun main(args: Array<String>) {
var person=Person()
var person2=Person()
println(person+person2)
}
class Person{
var name="张三"
var age=20
//必须加上operator
operator fun plus(person:Person):Int{
return this.age+person.age
}
}
输出: