java - 如何在另一个方法中调用带有参数的方法?

标签 java class oop methods

如何在另一个方法中调用带有参数的方法?

例如,我尝试在 goFishingIn() 方法中调用我的 likes() 方法,但它未编译。这是我的代码:

import java.util.*;

public class Fisher   
{
  public void keep(Fish fish) 
  {
    if(this.numFishCaught < LIMIT)
    {
      fishesCaught.add(fish);
      numFishCaught++;
    }
  }

  public boolean likes(Fish fish)
  {
    if(fish.size >= this.keepSize && fish.species != "Sunfish")
    {
      return true;
    }
    else 
    {
      return false;
    }
  }

  public void goFishingIn(Pond pond)
  {
    pond.catchAFish();
    this.likes(Fish fish);
  }
}

最佳答案

从表面上看,您应该能够像这样更改您的 goFishingIn() 方法:

public void goFishingIn(Pond pond)
{
  Fish fish = pond.catchAFish();
  this.likes(fish);
}

基本上,您只需要将 fish 的实例传递给 likes() 方法,因此您需要先实例化 fish调用 likes() 方法。

或者,如果您之后不需要对 fish 执行任何操作,您甚至可以缩短它并从参数内部调用 catchAFish() 方法。

public void goFishingIn(Pond pond)
{
  this.likes(pond.catchAFish());
}

第一种方法更好,因为它允许您将来引用 fish 对象。

关于java - 如何在另一个方法中调用带有参数的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21893371/

相关文章:

java - 编译 CMD Java 程序时遇到错误

java - 如何动态更改 JLabel

javascript - 试图理解 JavaScript 中原型(prototype)的意义

java - 单根层次结构使垃圾收集器的实现变得更加容易

Java : Microsoft word document to html converter style sheet

java - 将所有 BigDecimal 操作设置为特定精度?

c++ - 保留两个具有相反值的 bool 类成员

c++ - 访问类内部函数的参数

oop - OO 编程风格 - 虚拟属性、构造函数参数或 protected setter

java - 通过覆盖 toString() 能够仅打印 ArrayList 中的部分对象