kotlin中的运算符号的重载和异常的抛出,是一个微小但又很值得学习的知识点。
1、运算符的重载 关键字operator
kotlin中的运算符有+,-,*,/,[]等,但在对这些运算符进行重载时,和C++中的用法又有些许的不同之处,
kotlin用plus,minus,times,div,get等表示上面出现的符号,如,
fun main(args: Array<String>) {
var s1=complex(3,5)
var s2=complex(4,6)
println(s1-s2)
}
class complex(var x:Int,var y:Int){
operator fun plus(value:complex):complex{
this.x+=value.x
this.y+=value.y
return this
}
operator fun minus(value:complex):complex{
this.x-=value.x
this.y-=value.y
return this
}
override fun toString():String{
return ("$x+i$y")
}
}
输出结果的话,可以自己试一试。
2、异常抛出 throw
kotlin自身带有的异常类就不多做赘述了,这里主要介绍自己如何编写一个异常类;编写时,其需要继承Throwable()类,
使用时,同关键字throw来抛出异常,异常的接收机制是使用try{}catch(e:Type){}finally{ },其中catch可以有多个,并且finally
可以省略。如,
class Exception(val type:Int):Throwable(){
fun printStackTrace():String{
return "wrong"
}
}
fun main(args:Array<String>){
try{
}catch(e:Exception){
e.printStackTrace()
}
}