jiankeabcd 2016-06-03 13:32 采纳率: 73.9%
浏览 12799
已采纳

JAVA 关于 cannot resolve method

写一个打怪兽的小程序,需要将MonsterBattle3改动一下使得它可以使用定义的接口

提示 Battleable的接口只定义了receiveDamage的method,只有这个可见。
receiveDamage中,checkStatus 的method也被呼出,但Battleable interface中没有指定
hitPoint是instance,没有在interface中声明。
直接呼出将会被检查,接下来只要确定呼出的method

我直接从日语翻译过来的。。。所以很奇怪。
我也看不懂他想表达什么

hitPointフィールドもインタフェースでは宣言されていない。直接呼
出すメソッドが可視かどうかだけがチェックされ、あとは呼び出されたメソッドが動作すればよいのです。

 public class MonsterBattle3 {


    public static void main(String[] args) {
        Monster[] monsterArray = new Monster[3]; // 書き換えた。

        monsterArray[0] = new Slime();

        int power = 5;
        for (int n = 1; n <= 10; n++) {
            System.out.println("% Start Round " + n + "!");
            for (int i = 0; i < 3; i++) {
                monsterArray[i].receiveDamage(power); // (1)
            }
        }
    }
}

 public abstract class Monster {

    String name;
    int hitPoint;  // or health point
    String status = "active"; // hitPoint <= 0で"killed"になる。


    public boolean checkStatus() {
        if (hitPoint <= 0) {
            System.out.println(name + " was killed.");
            status = "killed";
            return false;  // killedになったときにfalseを返す。
        } else {
            return true;  // activeならtrueを返す。
        }
    }
}

 public class Slime extends Monster implements Battleable{
    // Constructor
    Slime() {
        name="Slime";
        hitPoint=50;
        System.out.println(name + "が現れた!");
    }

    public void receiveDamage(int p) {
        if(status.equalsIgnoreCase("active") ) {  // activeのときだけ戦う。
            int damage= p*5;
            hitPoint = hitPoint - damage;
            checkStatus();
        }
    }
}
 public interface Battleable {
    void receiveDamage(int p);
}

修改MonsterBattle3使其可以执行并不报错
可能没人看得懂要做什么。。。
可是我真的不知道应该怎么办

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路