【发布时间】:2011-04-28 16:56:50
【问题描述】:
所以,我有一些用 Java 编写的东西,我想用 Scala 扩展它...我遇到的问题是 Scala 没有看到我需要的方法。
这是它的设置方式: Player 扩展 Mob,Mob 扩展 Entity。
我需要访问 Player 中未在 Mob 或 Entity 中定义的方法,但 Scala 认为它不存在,即使 Java 存在。
它可以很好地看到 Mob 和 Entity 定义的方法。另外,我所说的所有方法都是非静态的。
那么,我做错了什么,还是这是 Scala 强加的限制?
编辑—— 以下是相关代码:
package test
import rsca.gs.model.Player
object Test {
def handle(p:Player): Unit = {
p.getActionSender().sendTeleBubble(0, 0, false);
}
}
播放器类:
package rsca.gs.model;
// imports
public final class Player extends Mob {
// Implemented methods (not going to post them, as there are quite a few)
// Relevant code
private MiscPacketBuilder actionSender;
public MiscPacketBuilder getActionSender() {
return actionSender;
}
}
错误: value getActionSender 不是 rsca.gs.model.Player 的成员
【问题讨论】:
-
发布了一些,但间距被破坏了。对此感到抱歉。
-
Scala 看不到
getActionSender()或sendTeleBubble(0, 0, false);的原因是什么? -
哦,又是一个愚蠢的问题,但是类路径中有 Player、Mob 和 Entity 吗?
-
我们希望看到您的编译命令行,以及完整、漂亮的错误代码。谢谢。
-
@RandomGuy12345,您能否启动指向您的 jar 的 scala 解释器,看看您是否可以创建一个 Player 类型的对象并调用它的方法?
scala -classpath your.jar