如何在Java中声明类似damagePlayer
的函数?
player.getPlayer1().damagePlayer(50);
我已经知道我们必须声明这样的东西才能得到它:
ServerPlayer player = new ServerPlayer();
但是,我们如何将第二个函数(GetPlayer()
)置于首位?我正在学习Java,这将是一种保存代码的绝佳方式。
答案 0 :(得分:1)
在名为Player
的类上声明方法,这将起作用。
public Player getPlayer(){
return this;
}
public void damagePlayer(int damage){
...
}
这只是一种方式。
答案是 - 第一个方法必须返回对象,该对象是Player类的实例,其中方法为damagePlayer
。
答案 1 :(得分: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
}
}