Java 从静态主方法调用void方法
我试图从静态main方法调用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
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();