require def this ( name : String , age : Int ) = { this () require ( name != null && ! name . isEmpty , "name" ) require ( age > 0 , "illegal age" ) Preconditions . checkArgument ( name != null && ! name . isEmpty , "name required" ) // 使用 guava 工具类,这行编译不过... 改写为下两种调用方式可通过 // Preconditions.checkArgument(name != null && !name.isEmpty, "name required".asInstanceOf[Any]) // Preconditions.checkArgument(name != null && !name.isEmpty, "name required", null) setAge ( age ) setName ( name ) } 什么鬼 require 函数签名: final def require(requirement: Boolean, message: => Any) ,注意第二个参数类型是一个函数 以上栗子中调用了两次 require