Java Main - 调用另一种方法

时间:2011-09-03 10:56:18

标签: java

我在下面有以下代码:

public static void main(String args[])
{
start();
}

我收到此错误:无法从静态上下文引用非静态方法start()。

我该怎么做?

4 个答案:

答案 0 :(得分:7)

创建类的实例并调用该实例的start方法。 如果您的类名为Foo,请在main方法中使用以下代码:

    Foo f = new Foo();
    f.start();

或者,将方法start设为静态,方法是将其声明为静态。

答案 1 :(得分:5)

希望这可以帮助你..

public class testProgarm {

    private static void start() {
        System.out.println("Test");
    }

    public static void main(String[] args) {
        start();
    }

}

但是,将方法设为静态并不是一个好习惯。您应该实例化一个对象并调用对象的方法。如果你的对象没有状态,或者你需要实现一个帮助方法,那么静态就是你的选择。

答案 2 :(得分:0)

一种方法是在main方法中创建另一个类的实例,例如newClass并在其中调用start()方法。

newClass class = new newClass();
class.start();

答案 3 :(得分:0)

  

对于非静态(&实例)方法,您可能需要一个实例   类来访问它。

试试这个:

public class TestClass {

    public static void main(String[] args) {
        start();

       TestClass tc = new TestClass();
       tc.start1()
    }

    // Static method
    private static void start() {
        System.out.println("start");
    }

    // Non-static method
    private void start1() {
        System.out.println("start1");
    }

}