【问题标题】:How do I declare a function like this?如何声明这样的函数?
【发布时间】:2015-04-18 23:05:33
【问题描述】:

如何在 Java 中声明如下 damagePlayer 之类的函数?

player.getPlayer1().damagePlayer(50);

我已经知道我们必须声明这样的东西才能得到它:

ServerPlayer player = new ServerPlayer();

但是,我们如何将第二个函数 (GetPlayer()) 放在首位?我正在学习 Java,这将是一种保存代码的好方法。

【问题讨论】:

  • 你要声明什么函数? getPlayer1 还是damagePlayer?你只是想声明还是执行?
  • 我想问我如何首先声明这个函数。

标签: java methods chaining method-chaining


【解决方案1】:
player.getPlayer1().damagePlayer(50);

damagePlayer(50) 将被编写为 getPlayer1() 返回的类型的方法。因此,在实例 player.getPlayer1() 返回的类中实现您的 damagePlayer(int x) 类。

因此,如果 getPlayer1() 返回类型(或类) Foo 的对象,您将在 Foo 类中编写 damagePlayer 方法。

例如。

Bar bar = new Bar();
bar.doThis().doThat(25) ;

class Bar{
  public Foo doThis() {
    Foo foo=new Foo();
    //do some thing using foo

    return foo;
  }
}

class Foo() {

  void doThat(int number){
    // can do anything using parameter number and return anything
  }

}

【讨论】:

    【解决方案2】:

    在名为Player 的类上声明方法,这将起作用。

    public Player getPlayer(){
        return this;
    }
    
    public void damagePlayer(int damage){
        ...
    }    
    

    这只是一种方式。

    答案是 - 第一个方法必须返回作为 Player 类实例的对象,其中方法 damagePlayer 是。

    【讨论】:

    • OP想要getPlayer1。听上去他是想拉住一排球员,然后把第一个送回来。也许吧。
    • 编辑:Benjy 所说的。
    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2011-05-01
    相关资源
    最近更新 更多