Java 从静态主方法调用void方法

Java 从静态主方法调用void方法,java,method-call,Java,Method Call,我试图从静态main方法调用void方法。以下是我所拥有的: public static void main(String[] args){ Scene scene = new Scene(); Animate animate = new animate(); animate(); //I've tried it by itself, but no luck } public void animate(){ sun.slowMoveHorizontal(50

我试图从静态main方法调用void方法。以下是我所拥有的:

public static void main(String[] args){
    Scene scene = new Scene();
    Animate animate = new animate();
    animate();    //I've tried it by itself, but no luck
}
public void animate(){
    sun.slowMoveHorizontal(5000);
    moon.slowHorizontal(400);
}
如果有人能帮忙,我将不胜感激。文本中说,“在创建场景对象的行下方的主方法中添加一个动画调用。”如果有帮助的话

变化:

public void animate(){
致:

您正试图从静态方法调用非静态方法


如果
animate()
是实例成员,则实例化对象并从该对象调用
animate()

public static void main(String[] args){
    Animation a = new Animation();
    a.animate();
}

假设
Animate
是一个合适的类,您需要在实际实例上调用instance方法

比如说

Animate a = new Animate();
a.animate();

否则,请查看场景类。你是不是应该给它做动画

删除
Animate Animate=new Animate()。我仍然会看到“无法从静态上下文引用非静态元素”,您试图从主方法内部调用该方法。不是“to”。现在我的变量“sun”和“moon”脱离上下文,因为它们不是静态的。如果animate()是类的一部分,则实例化该对象并从该对象调用animate()。如果animate()只是与main()一起存在的一个方法,请将其设置为static。当我实例化它时,仍然会得到“找不到符号-类animate”@Dearerburrito您必须发布更多代码(至少足以显示您在何处声明变量和方法)。我们都知道问题出在哪里,但是当您显示最少的代码时,很难向您解释。
animate()
是类的一部分。Java中的所有内容都是类的一部分。很抱歉,当我这样做时,“Animate”和“Animate()”无法作为符号找到。@Dearerburrito这也可能是您发布的代码的问题。您在问题中没有提到它。@亲爱的,如果没有@Dearerburrito,我们无法猜测您的代码。您需要实例化当前类,不管它是什么。这个答案假设它是
动画
,基于您发布的内容。由您来澄清您的问题。@亲爱的,根据问题中的
Animate-Animate
,我假设类存在。否则,由于多种原因,提供的代码无法编译。但是您尚未完整显示您的类定义,因此请编辑问题以包含更多代码
Animate a = new Animate();
a.animate();