java运行时异常和编译器错误

java运行时异常和编译器错误,java,exception,Java,Exception,在下面的代码中,当我更改返回类型时,它没有给出编译器错误,只是抛出运行时异常。这不是syntex错误,给出了错误的返回类型long而不是void class Jfilestr { public static long main(String[] args) { System.out.println("Hello"); return 10L; //It will give the runtime exception.

在下面的代码中,当我更改返回类型时,它没有给出编译器错误,只是抛出运行时异常。这不是syntex错误,给出了错误的返回类型long而不是void

class Jfilestr {
    public static long main(String[] args) {
        System.out.println("Hello");      
        return 10L;

        //It will give the runtime exception.
        /*Error: Main method must return a value of type void in class Jfilestr, please
        define the main method as:
         public static void main(String[] args)*/
    }
}
你的问题是

public static void main(String[] args) {}
在Java中起着特殊的作用。它是启动Java应用程序的入口点。从技术上讲,您可以创建所描述的方法,但不能作为入口点。这种情况经常发生,运行时会检测到错误并告诉您所做的事情


您不能从入口点方法返回值。

如果输入正确的返回类型,即
void
,会出现什么错误?请注意,当方法为
void
时,当然不能
返回
值。错误非常简单:
main
方法必须返回void。句号。主方法应具有
void
返回类型。错误消息正告诉您需要执行的操作=)我明白您的意思。java调用指定了该类,它足够智能,可以检测无效的main。我会更新我的答案。谢谢