小编use*_*114的帖子

如何在两个不同的类中使用相同的add()方法

您有没有办法在两个不同的类之间使用相同的add()方法(向数组添加内容)?例如,我的湖类有以下add()方法:

 public void add (Fish aCatchableThing) 
    {
        if (numThings < catchableThings.length)
        {
            catchableThings[numThings++] = aCatchableThing;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码:

public class FishingTestProgram3 
{
    public static void main(String [] args) 
    {

        Lake   weirdLake = new Lake(21);
        weirdLake.add(new AuroraTrout(76, 6.1f));
        weirdLake.add(new Tire());
        weirdLake.add(new Perch(32, 0.4f));
        weirdLake.add(new Bass(20, 0.9f));
        weirdLake.add(new Treasure());
        weirdLake.add(new Perch(30, 0.4f));
        weirdLake.add(new AtlanticWhiteFish(140, 7.4f));
        weirdLake.add(new RustyChain());
        weirdLake.add(new Bass(15, 0.3f));
        weirdLake.add(new Tire());
Run Code Online (Sandbox Code Playgroud)

这将是有效的(使用继承,即EndangeredFish extends fish, and Perch extends EndangeredFish )对于所有添加的鱼,但它不起作用的对象(即Tire,RustyChain,Treasure).Tire,RustyChain和Treasure是扩展SunkenObject类的类,它实际上是空的:

public abstract class SunkenObject
{


}
Run Code Online (Sandbox Code Playgroud)

我尝试在湖类中创建第二个添加方法但是没有成功.我想知道是否有人对这如何运作有任何想法?在那里我可以将所有东西(即鱼和沉没对象)添加到同一个数组中,以便何时

public void listAllThings() …
Run Code Online (Sandbox Code Playgroud)

java arrays oop methods

3
推荐指数
1
解决办法
110
查看次数

从派生类调用构造函数

您好我一直在尝试使用我的zeroparameter构造函数调用我的SunkenObject构造函数与初始权重值但由于某种原因我不断收到此错误

constructorSunkenObject in classSunkenObject不能be applied to given types;`

required: float
  found: no arguments
  reason: actual and formal argument lists differ in length
Run Code Online (Sandbox Code Playgroud)

这是我的SunkenObject构造函数:

public abstract class SunkenObject extends CatchableThing
{
   protected float weight;

   public SunkenObject(float w)
   {
     weight = w;
   }

  public float getWeight() { return weight; }

    public String toString () 
    {
        return (getClass().getSimpleName());
    }
}
Run Code Online (Sandbox Code Playgroud)

这是SunkenObject扩展的对象之一(生锈的链)

public class RustyChain extends SunkenObject 
{

    public RustyChain (float w)
  {
    super(w);  
  }
   public RustyChain()
   {
     weight = …
Run Code Online (Sandbox Code Playgroud)

java oop inheritance constructor compiler-errors

0
推荐指数
1
解决办法
86
查看次数

标签 统计

java ×2

oop ×2

arrays ×1

compiler-errors ×1

constructor ×1

inheritance ×1

methods ×1