对象数组,因为它们涉及接口和抽象类

时间:2016-02-24 00:37:56

标签: java arrays object

所以我一直在试着理解如何调用数组中对象的方法。这项功课的要点是从头开始创建一个类似的界面,一个名为“武器”的抽象类,一个名为“Drawable”的界面,一个扩展武器的几个类,以及一个创建一个带有数组的太空船的“太空飞船”类。武器对象。

以下是“太空船”类的代码。第40行出现错误“not a statement”.fireFastestWeapon方法的目的是根据每个对象的fire time对对象数组进行排序,然后为前n个武器激活fire方法。

    public class Spaceship implements Drawable
 {
    private Weapon [] mountedWeapons = new weapon[4];
    private int curWeapon = 0;
   public void draw()
   {
       System.out.print("Ship will be drawn here");
    }
   public void addWeapon(Weapon w)
   {
       if (curWeapon<mountedWeapons.length)
       {
           mountedWeapons [curWeapon] = w;
           curWeapon++;
        }
        else System.out.print("The weapons bay is full Commander");
    }
   public void fireFastestWeapon(int n)
   {
       int count=mountedWeapons.length;
       int k;
        for (int m = count; m>=0;m--)
        {
            for(int i = 0; i<count-1;i++)
            {
                k=i+1;
                if (mountedWeapons[i].compareTo(mountedWeapons[k]) == 1){
                    Weapon temp;
                    temp = mountedWeapons[i];
                    mountedWeapons[i] = mountedWeapons[k];
                    mountedWeapons[k] = temp;
                }
            }
       }

       if(n>mountedWeapons.length)
       {
           n=mountedWeapons.length;
        }
       for (f=0;f<n-1;n++)
       {
           mountedWeapon[f].fire;
       }
   }
}

谢谢你的期待!

1 个答案:

答案 0 :(得分:1)

方法调用中的括号在Java中不是可选的:

mountedWeapon[f].fire();