scala中隐式转换之隐式转换调用类中本不存在的方法
Posted 指尖上的艺术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中隐式转换之隐式转换调用类中本不存在的方法相关的知识,希望对你有一定的参考价值。
/** * Created by root * Description : 隐式转换调用类中本不存在的方法 */ class Person(name : String){ def getPersonName = println("name = " + name) } object Type2Type{ implicit def type2(a : ImplicitTest2) = new Person("xiaoming") } class ImplicitTest2 object ImplicitTest2 { import Type2Type._ def main(args: Array[String]): Unit = { // 通过隐式转换,使对象能调用类中本不存在的方法 val test = new ImplicitTest2 test.getPersonName // 编译器发现test调用的方法不存在,此时编译器就会在作用域范围内查找能使其编译通过的隐式视图, // 找到type2方法后,编译器通过隐式转换将对象转换成具有这个方法的对象,之后调用getPersonName方法 } }
以上是关于scala中隐式转换之隐式转换调用类中本不存在的方法的主要内容,如果未能解决你的问题,请参考以下文章