因此,我有一些用Java写的东西,我想在Scala中扩展它。我遇到的问题是Scala没有看到我需要的方法。

设置方法如下:
播放器扩展Mob,而Mob扩展实体。

我需要访问在Mob或Entity中未定义的Player中的方法,但是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;
    }
}

错误:
值getActionSender不是rsca.gs.model.Player的成员

最佳答案

我从未遇到过此类问题,您可能已经检查了配置和其他所有内容两次,因此我想这是与Eclipse相关的一些构建问题。您应该尝试从命令行进行构建,以查看问题是Scala还是Eclipse。

关于java - Scala无法访问Java方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5822252/

10-16 21:34