gpt4 book ai didi

java - 创建和传递对象java

转载 作者:行者123 更新时间:2023-11-30 03:33:38 24 4
gpt4 key购买 nike

尝试了解如何使用 java 正确访问和传递程序中的其他对象。

在我的小程序中,我们看到以下内容:

我有一个战斗类,需要知道我的英雄的当前生命值,这是我的英雄类的一个实例。

以前,如果另一个类需要知道英雄的 HP,我会简单地使用静态变量来存储 HP。有人告诉我这是静态的错误用法。下面,我创建了一种战斗方法,用于明确使用将英雄传递到战斗中。因此,今后,每当我需要战斗来访问与我的英雄对象相关的任何内容时,我都可以。

这有道理吗?我走在正确的道路上吗?

public class Combat
{
public void passHero(Hero hero1)
{

}
}

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

Hero hero1 = new Hero();

//passing hero to Combat
combat.passHero(hero1);
}
}

最佳答案

您走在正确的道路上。当您想要设置某个对象的属性(在本例中为 Combat 的 Hero 属性)时,该对象 (Combat) 通常会提供用于设置和检索其属性的公共(public)方法。您可能只想在战斗类上创建一个英雄 setter ,或者将英雄传递给构造函数

public class Combat
{
private Hero hero;

//setter
public void setHero(Hero hero1)
{
this.hero = hero1;
}

//constructor
public Combat(Hero hero1)
{
this.hero = hero1;
}
}

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

Hero hero1 = new Hero();

//passing hero to Combat
Combat combat = new Combat(hero1);
//or
combat.setHero(hero1);
}
}

关于java - 创建和传递对象java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484324/

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