1. 程式人生 > 實用技巧 >隱式轉換

隱式轉換

隱式轉換:自動轉換

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) } }

package
chapter01 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
={} }