object OperatorDemo {
def main(args: Array[String]): Unit = {
val oper = new MyOper
//普通调用方式
oper.unary_~
//前置调用,支持+、-、!、~
~oper //unary_~...
//中置调用
oper midOper 5 //midOper...
//后置调用,可以看做无参的中置调用
oper postOper //postOper...
}
}
class MyOper {
var num: Int = _
def midOper(n: Int) = {
println("midOper...")
}
def postOper(): Unit = {
println("postOper...")
}
//前置操作符,方法名固定格式
def unary_~() = {
println("unary_~...")
}
}