scala高级 动态方法 你想让类调用的方法不存在时返回你需要的值

Dynamic 动态方法

scala高级.

scala - How does type Dynamic work and how to use it? - Stack Overflow

Scalas 类型Dynamic允许您在对象上调用不存在的方法,或者换句话说,它是动态语言中“方法缺失”的复制品。

selectDynamic

import scala.collection.mutable.ArrayBuffer
import scala.language.dynamics

object pojo2pojo {

    def main(args: Array[String]): Unit = {
        val d = new DynImpl
        println(d.selfMethod1) // 调用自带方法
        println(d.name) // 没有找到方法 就把方法名 传入
        println(d.age)
/*
100
DynImpl.name
18
 */
        
    }

}

class DynImpl extends Dynamic {
    // 注意 类找不到方法 就会把方法名作为参数去调用 selectDynamic
    // selectDynamic 不是继承,是固定的名字.
    def selectDy

你可能感兴趣的:(总结,scala)