创建和传递对象 java
Creating and passing objects java
尝试了解如何使用 java 正确访问和传递程序中的其他对象。
在我的小程序中,我们看到以下内容:
我有一个战斗 class 需要知道我的英雄的当前 HP,这是我的英雄 class 的一个实例。
以前,如果另一个class需要知道英雄的血量,我会简单地使用一个静态变量来存储血量。有人告诉我这是对静态的错误使用。下面,我在战斗中创建了一个方法,用于明确使用将英雄传递到战斗中。因此,今后,任何时候我需要战斗来访问与我的英雄对象相关的任何东西时,我都可以。
这有意义吗?我走的路对吗?
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 方法来设置和检索它的属性。您可能只想在战斗 class 中创建英雄 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 正确访问和传递程序中的其他对象。
在我的小程序中,我们看到以下内容:
我有一个战斗 class 需要知道我的英雄的当前 HP,这是我的英雄 class 的一个实例。
以前,如果另一个class需要知道英雄的血量,我会简单地使用一个静态变量来存储血量。有人告诉我这是对静态的错误使用。下面,我在战斗中创建了一个方法,用于明确使用将英雄传递到战斗中。因此,今后,任何时候我需要战斗来访问与我的英雄对象相关的任何东西时,我都可以。
这有意义吗?我走的路对吗?
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 方法来设置和检索它的属性。您可能只想在战斗 class 中创建英雄 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);
}
}