帮助将类应用为字段

时间:2011-08-14 03:52:48

标签: java

我想要做的是实现一个Object的构造函数。 我已经在类的字段中定义了类;但是因为它是一门我不知道如何初始化它。

这是我的班级和领域。

public class Player
{
// Instance variables.
//Weapon is a class.        
//The max health starts at 30 health points.

  private String myPlayerName;
  private Weapon myWeapon;
  private int myCurrentHealth;
  private int myMaxHealth;
  private int myNumPotions;

/**
 * Constructor initializing class Player
 * Parameters of the player should be:
 * player name, players initial health, the players weapon.
 */
  public Player(String myPlayer, int initialHealth, Weapon currentWeapon) {
      myPlayerName = myPlayer;
      myWeapon = new Weapon();
      myMaxHealth = 30; 
      initialHealth = myMaxHealth;
      myCurrentHealth = initialHealth;
      myNumPotions = 0;       
}

这里出了点问题,我不确定是什么?任何人都可以帮我构建currentWeapon参数吗?

3 个答案:

答案 0 :(得分:3)

我不完全确定你在问什么。你的构造函数接受一个名为currentWeapon的武器实例,但你将myWeapon分配给一个新的武器实例,不要使用你给你的当前武器。

构建播放器时,您应该执行以下操作:

new Player('blah', 100, new Weapon());

在你的Player构造函数中,你应该有一行:

myWeapon = currentWeapon;

答案 1 :(得分:2)

不应该这样吗?为什么要构造一个新的Weapon对象而不是分配构造函数参数中传递的对象?

this.myWeapon = currentWeapon;

<强>更新

以这种方式构建Player类: -

Player player = new Player("Tom", 10, new Weapon(10,20)); 

答案 2 :(得分:2)

试试这个:

myWeapon = currentWeapon;

或更为谨慎:

this.myWeapon = currentWwapon;

这很简单,因为在OOP中,即C#,Java ...对象是引用,所以你不必担心。 更具体地说,检查this