在先前方法(Java)中实例化的对象上调用方法

时间:2013-03-26 10:10:32

标签: java object methods

简单地说,我有以下代码:

public void dance()
{
CartoonFigure dancer = new CartoonFigure("rico", 300, 300);
danceStepTwo();
danceStepOne();
}

public void danceStepOne()
{
    dancer.turnLeft();
}

public void danceStepTwo()
{
   dancer.turnLeft();
}

但是在舞者对象上调用这些方法会给我一个编译错误'找不到符号 - 变量舞者'。我该如何解决这个问题,以便我可以从danceStepOne()调用舞者对象的方法?

4 个答案:

答案 0 :(得分:3)

将舞者定义为实例变量,以使其可用于两种方法。否则将其实例传递给两个方法。

答案 1 :(得分:0)

dancer声明为字段变量。将它(在顶部)放在任何方法之外以及范围声明,例如private CartoonFigure dancer

答案 2 :(得分:0)

您必须使dancer全局,并且此错误是由于它仅对方法dance()可见,因此将其设为实例字段,如下所示。

private CartoonFigure dancer;

初始化它可以在构造函数中完成,如下所示

dancer = new CartoonFigure("rico", 300, 300);

答案 3 :(得分:0)

由于“danceStepOne”和“danceStepTwo”无法使用“舞者”对象,因此无法识别并导致编辑失败。

为此,任何解决方案都可以使用

  1. 将其作为变量传递给方法
  2. 将“舞者”声明为全局变量