代码包括对象的乘法运算等等
//新建一个算术类(存在乘法运算) class BoxInt(var i: Int){ operator fun times(x: BoxInt) = BoxInt(i * x.i) override fun toString(): String { return i.toString() } } //新建一个方法,便于对象的相加 operator fun BoxInt.plus(x: BoxInt) = BoxInt(this.i + x.i) //重载负数方法的类 class Point(val x:Int, val y:Int){ operator fun unaryMinus() = Point(-x, -y) override fun toString(): String { return "Point(x=$x,y=$y)" } } //自增函数拓展 operator fun BigDecimal.inc() = this + BigDecimal.ONE fun main(args: Array<String>) { val a = BoxInt(52) val b = BoxInt(10) println(a + b ) println(a * b ) println(1.plus(4)) println(10.div(5)) println(1.times(0)) println(9300.plus(94)) //测试负方法类 println(-Point(1,1)) //测试自增类函数 var bigDecimal1 = BigDecimal(100) var bigDecimal2 = BigDecimal(100) val tmp1 = bigDecimal1++ val tmp2 = ++bigDecimal2 println(tmp1) //100 println(tmp2) println(bigDecimal1) println(bigDecimal2) }输出结果是:
62 520 5 2 0 9394 Point(x=-1,y=-1) 100 101 101 101