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:谢谢,同意,把你的答案也写在我的答案里