1

由于某种原因,在我从代码中添加和删除了一个静态变量之后,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  
}
4

1 回答 1

2

是的 - 你调用该方法就好像它是一个静态方法:

Ball.test()

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

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

了解静态成员和实例成员之间的区别很重要。您是否阅读过Java 教程的相应章节?你有一本好的 Java 书籍可以帮助你吗?(Stack Overflow 非常适合解决特定问题,但不适合从头开始学习语言。很好地解释语言概念需要大量的空间和时间。)

于 2013-01-01T19:03:19.813 回答