隱式轉換
阿新 • • 發佈:2020-08-09
隱式轉換:自動轉換
scala預設情況下支援資料型別的自動轉換
byte->short->int->long
scala預設情況下支援多型語法中的型別自動轉換
child->parent->trait(interface)
scala也允許開發人員自定義型別轉換規則
將兩個無關的型別通過程式設計手段實現自定轉化
在相同的作用域內,不能含有多個相同的轉換規則
package chapter01 object test10 { def main(args:Array[String]):Unit={ // 隱式轉換:自動轉換 // // scala預設情況下支援資料型別的自動轉換// byte->short->int->long // // scala預設情況下支援多型語法中的型別自動轉換 // child->parent->trait(interface) // // scala也允許開發人員自定義型別轉換規則 // 將兩個無關的型別通過程式設計手段實現自定轉化 // // 在相同的作用域內,不能含有多個相同的轉換規則 implicit def transform(d:Double):Int={ d.toInt } val i:Int=5.0 println(i) } }
packagechapter01 object test11 { def main(args:Array[String]):Unit={ implicit def transform(mysql:Mysql):Operator={ new Operator() } //動態增加delete功能 var mysql=new Mysql() mysql.select() mysql.delete() } } class Operator{ def delete():Unit={} } class Mysql{ def select():Unit={} }