【发布时间】:2011-05-25 15:24:15
【问题描述】:
我这里有一个包含一些 Java 类的库。一个类有一些protected static 方法,我意识到这是一种OOP 禁忌,但我不能更改它的代码。假设我有一个继承上述 Java 类的 Scala 类,我该如何调用它的受保护静态成员?
【问题讨论】:
-
创建一个调用超类方法的Java子类不是一个选项吗?然后,您可以让 Scala 访问您的 Java 类。
-
啊,是的,我想我可以走那条路。谢谢。似乎有点奇怪,但不能直接使用!
-
也许在 Scala 中更直接,我不知道。这就是为什么我将其发布为评论而不是答案。显然,“超级”调用无法工作,因为 Scala 没有静态继承。也许您可以创建一个扩展相关类的 Scala 对象,然后调用“LibraryClassName.staticMethodName(...)”,从而避免使用“super”?我不确定这是否可行。