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

6

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

一个简单的“Hello World”程序调用方法时失败了。

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

    public static void helloWorld();
    {
        System.out.println("hello world");
    }
}

I get the following error:

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

2
按照惯例,类名以大写字母开头。 - alex
如果您使用像Eclipse这样的IDE,它会提示您纠正错误。但是在某些文本编辑器中编写代码时,很容易犯明显的错误。 - Smit
4个回答

17

去掉此行末尾的分号:public static void helloWorld();


2
我喜欢在同一行上打开大括号的一个原因是,这样的错误会变得更加明显。 - Hot Licks
@Simon André Forsberg使用System.exit(0);这个程序或JVM有什么区别吗? - Smit
@smit 这与错误无关,但这是一个无用的调用。如果省略,Java 将自动以退出状态 0 退出。 - Simon Forsberg

2
这行代码:
public static void helloWorld();

这是你的问题。在函数末尾加上分号意味着你想要它是抽象的,没有具体实现。这与接口中声明方法的方式类似,或者如果它们被标记为抽象即无具体实现。


1
在这行代码中: public static void helloWorld(); 去掉分号。
修改为如下形式: public static void helloWorld()
为了避免进一步的错误,可以像这样进行修改: public static void helloWorld() {
在同一行放置一个开括号会使错误检测更容易。

-1

首先,你需要关注你的错误... 错误的解决方案是 (

abstract class HelloWorld
{
public abstract void(String[] args);

你应该试一下这个 ;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接