Java Main-调用另一个方法

Java Main-调用另一个方法,java,Java,我有以下代码: public static void main(String args[]) { start(); } 我得到这个错误:不能从静态上下文引用非静态方法start() 我该怎么做呢?创建类的实例并调用该实例的start方法。 如果类名为Foo,则在main方法中使用以下代码: Foo f = new Foo(); f.start(); 或者,通过将方法声明为static,使方法start为static。希望这能对您有所帮助 public class testPr

我有以下代码:

public static void main(String args[])
{
start();
}
我得到这个错误:不能从静态上下文引用非静态方法start()


我该怎么做呢?

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

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

或者,通过将方法声明为static,使方法
start
为static。

希望这能对您有所帮助

public class testProgarm {

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

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

}

但是,将方法设置为静态并不是一个好的做法。您应该实例化一个对象并调用对象的方法。如果您的对象没有状态,或者您需要实现一个helper方法,那么静态是一种方法。

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

newClass class = new newClass();
class.start();
对于非静态(&实例)方法,您可能需要一个实例 类来访问它

试试这个:

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");
    }

}

我可以推荐一本关于Java的入门书吗?或者至少阅读Oracle提供的教程?你的问题表明你对最基本的概念没有很好的把握,这两个概念都会很有帮助。你如何声明你的开始()?“但是,将方法变为静态并不是一个好的做法。”这要看情况而定。如果你没有state,或者你需要实现一个helper方法,那么静态方法就是最好的选择。@Oliver:谢谢,同意,把你的答案也写在我的答案里