我在以前的Java项目中使用的一个老技巧是创建例如一个FileUtils
类,它为我的项目所需的常用文件操作提供了辅助函数,但不包含在例如org.apache.commons.io.FileUtils
。因此,我的定制FileUtils
将延伸org.apache.commons.io.FileUtils
并提供其所有功能。扩展Java类的Scala对象
现在我尝试在Scala中做同样的事情,但通过我的FileUtils
Scala对象看不到apache帮助函数,这里有什么问题?
import org.apache.commons.io.{ FileUtils => ApacheFileUtils }
object FileUtils extends ApacheFileUtils {
// ... additional helper methods
}
val content = FileUtils.readFileToString(new File("/tmp/whatever.txt"))
这里的编译器抱怨readFileToString
不是我的斯卡拉FileUtils
的成员,但它是ApacheFileUtils
,我从它延伸......
我猜'readFileToString'是Java中的一个静态方法,所以它不会被继承扩展该类。 – Dylan
的确,'readFileToString'是一个静态方法。 –