gpt4 book ai didi

java - 调用在另一个类中创建的对象的方法

转载 作者:行者123 更新时间:2023-12-02 13:33:10 26 4
gpt4 key购买 nike

我有一个小问题。

我有 3 个类,看起来“像”这样:

public class Gun{
public void Shot(){
// shoot code
}

public void RenderGun()
{
// render code
}

// more methods
}


public class GameManager
{
Gun gun;

public GameManager()
{
gun = new Gun();
}

// methods using GunClass methods.
}

public class HudScreen
{
Gun gun;

public HudScreen()
{
gun = new Gun();
}

public void GunShotButton()
{
gun.Shoot();
}
}

问题是我有两个 Gun 对象,我想要一个,但在 HudScreen 和 GameManager 类中都使用它。

那么,如果我在 GameManager 中创建一个新的 Gun 对象,如何从 HudScreen 类“调用”该对象?

<小时/>

谢谢MM。

最佳答案

GameManager 构造函数

 public GameManager(Gun gun){ 
this.gun = gun;
}

HudScreen 构造函数

public HudScreen(Gun gun){
this.gun = gun;
}

从创建 Gun 对象的主方法中,您可以将其传递给 GameManager 和 HudScreen 的构造函数

 public static void main() {
Gun gun = new Gun();
HudScreen hudScreen = new HudScreen(gun);
GameManager gameManager = new GameManager(gun)
}

如果您不想以相同的方法创建 GameManager 和 HudScreen 但仍想使用相同的 Gun 对象,那么您可以这样做1.初始化Gun对象2. 在 GameManager 和 Hudscreen 上,您可以将其传递给构造函数,也可以直接将其传递给这些类中的方法。例如假设您想让 GameManager 构造函数接收新创建的 Gun 并将同一把枪传递给 Hudscreen.GunShotButton。我希望你能在这里找到线索 -

public class Gun{
public void Shot(){
// shoot code
}

public void RenderGun()
{
// render code
}

// more methods
}


public class GameManager
{
Gun gun;

public GameManager(Gun gun)
{
this.gun =gun;
}

// methods using GunClass methods.
}

public class HudScreen
{
public HudScreen()
{
}

public void GunShotButton(Gun gun)
{
gun.Shoot();
}
}

关于java - 调用在另一个类中创建的对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43112259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com