1

我正在尝试在 Eclipse 中创建如下所示的程序,但它显示错误。我是 Java 新手,所以有人可以帮我修复它并解释它显示错误的原因吗?

public class Specifiers {

    public static void main(String[] args) {
        public void start1()
        {
            System.out.println("In Start Method");

        }

    }
}
4

4 回答 4

6

您在类的方法中有一个方法。start1应该在类(而不是方法)中,并且您想从方法中调用main

此外,您需要创建类的实例才能访问非静态方法。非静态方法可以访问实例的各个状态(字段),因此您需要先使用构造函数构造一个。我建议您更多地了解面向对象编程中类和实例的概念。

public class Specifiers {
    public static void main(String[] args) {
        Specifiers x = new Specifiers();
        x.start1();
    }

    public void start1() {
        System.out.println("In Start Method");
    }
}
于 2013-01-30T23:29:02.507 回答
2

Java 中的方法中不能有方法

这将起作用:

public class Specifiers {

    public static void main(String[] args) {
        System.out.println("In Start Method");
    }
}

或这个

public class Specifiers {

    public static void main(String[] args) {
      new Specifiers( ).start1( );
    }

    public void start1()
    {
      System.out.println("In Start Method");

    }
}
于 2013-01-30T23:28:30.900 回答
2

您在方法中有一个方法声明。尝试这个:

public class Specifiers {

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

    public static void start1()
    {
        System.out.println("In Start Method");
    }
}

编辑:当然,它需要是静态的。我的错...

于 2013-01-30T23:29:41.327 回答
1

main方法是 Java 虚拟机执行的第一个方法。当您使用 Java 解释器执行一个类时,运行时系统首先调用该类的main()方法。然后该main()方法调用运行应用程序所需的所有其他方法。可以说main方法是Java程序的入口点,没有这个方法Java程序就无法运行

public class FirstClass{
    public static void main(String[] args) {
        Specifiers x = new Specifiers();
        x.start1();
    }
}

public class Specifiers {

    public void start1() {
        System.out.println("In Start Method");
    }
}
于 2013-01-31T00:00:28.217 回答