Eclipse强迫一切都是静态的

时间:2013-01-01 19:01:57

标签: eclipse function static call

出于某种原因,在我从代码中添加和删除静态可变量之后,eclipse开始在我调用的所有函数上给出错误,说这些函数必须是静态的。但是,如果我让程序运行这些错误,程序就像我打算那样运行。我的代码:

package main;

public class Main implements Runnable {

    public void start() {

        Thread thread = new Thread(this);
        thread.start();
        System.out.println("Running...");

        Ball.test(); <--- Giving me an error

    }

    public void run() {

    }

    public void stop() {
        System.out.println("Exiting...");
    }

}

当我在球中创建一个名为test的方法时,它给了我:

public static void test() {
    // TODO Auto-generated method stub  
}

1 个答案:

答案 0 :(得分:2)

是的 - 您正在调用该方法,就好像它是一个静态方法:

Ball.test()

如果要调用实例方法,则需要在实例上调用它,例如

Ball ball = new Ball();
ball.test();

理解静态成员和实例成员之间的区别非常重要。你读过appropriate chapter of the Java tutorial了吗?你有一本可以帮助你的好Java书吗? (Stack Overflow非常适合具体问题,但不适合从头开始学习语言。解释语言概念需要花费大量的空间和时间。)