缺少方法体,或在Java中声明抽象

缺少方法体,或在Java中声明抽象,java,Java,我是Java新手,尝试在我的电脑上运行 一个简单的“hello world程序”调用方法失败 class helloworld { public static void main(String[] param) { helloWorld(); System.exit(0); } public static void helloWorld(); { System.out.println("hello w

我是Java新手,尝试在我的电脑上运行

一个简单的“hello world程序”调用方法失败

class helloworld
{   
    public static void main(String[] param)
    {
        helloWorld();
        System.exit(0);
    }

    public static void helloWorld();
    {
        System.out.println("hello world");
    }
}
我得到以下错误:

.\helloworld.java:11: error: missing method body, or declare abstract
       public static  void helloworld();
                           ^

删除此行末尾的分号:
publicstaticvoidhelloworld()

此行:

public static void helloWorld();

这是你的问题。以分号结束函数意味着您希望它是抽象的,而不是主体。这类似于接口中方法的声明方式,或者如果它们被标记为抽象的,即无正文。

首先,您要关注您的错误。。错误的解决方法是(

您应该在此代码行中尝试此;)

公共静态void helloWorld()
删除分号

这样做:

公共静态void helloWorld()

要进一步避免此错误,请执行以下操作:

publicstaticvoid helloWorld(){


在同一行中使用大括号可以更容易地检测错误。

我喜欢在同一行中使用大括号的一个原因是,这样的错误变得更加明显。@Simon AndréForsberg他正在使用System.exit(0);它对这个程序或JVM有什么影响吗?@smit它与这个错误并没有真正的关系,但它是一个无用的调用。如果省略,Java将以退出状态0自动退出。只是一个提示:按照惯例,类名以大写字母开头。如果您使用的是像eclipse这样的IDE,它将通知您更正错误。但是它的obv在某些文本编辑器中编写代码的错误。
abstract class HelloWorld
{
public abstract void(String[] args);