摘要:
1、隐式转换的时机: 1.当方法中的参数的类型与目标类型不一致时 2.当对象调用类中不存在的方法或成员时,编译器会自动将对象进行隐式转换 2、隐式解析机制 即编译器是如何查找到缺失信息的,解析具有以下两种规则: 1.首先会在当前代码作用域下查找隐式实体(隐式方法 隐式类 隐式对象) 2.如果第一条规 阅读全文
摘要:
/** * Created by root * Description :隐式类: * 1.其所带的构造参数有且只能有一个;并且构造器的参数是转换之前的对象 * 2.隐式类必须被定义在类,伴生对象和包对象里 * 3.隐式类不能是case class(case class在定义会自动生成伴生对象与2矛盾) * 4.作用域内不能有与之相同名称的标示符 */ class ... 阅读全文
摘要:
/** * Created by root * Description : 隐式转换调用类中本不存在的方法 */ class Person(name : String){ def getPersonName = println("name = " + name) } object Type2Type{ implicit def type2(a : ImplicitTest... 阅读全文
摘要:
/** * Created by root * Description : 隐式值和隐式视图 */ object ImplicitTest { def main(args: Array[String]): Unit = { // 隐式值 implicit val str = "hello" def fun(implicit s: String) = p... 阅读全文
摘要:
1、Scala单例对象 Scala单例对象是十分重要的,没有像在Java一样,有静态类、静态成员、静态方法,但是Scala提供了object对象,这个object对象类似于Java的静态类,它的成员、它的方法都默认是静态的。 如果object的静态成员要被外界访问,则该成员不能被private修饰 阅读全文