首页 >Java >java教程 >为什么 Java 会抛出'此处不允许'void'类型”错误?

为什么 Java 会抛出'此处不允许'void'类型”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-17 13:33:011072浏览

Why Does Java Throw a

揭开“'void' type not allowed here”错误背后的秘密

遇到“void type not allowed here”错误可以是令人费解。为了理解它的重要性,让我们深入研究它的上下文。

考虑下面的代码片段:

class obj {
    public static void printPoint(Point p) {
        System.out.println("(" + p.x + ", " + p.y + ")");
    }

    public static void main(String[] arg) {
        Point blank = new Point(3, 4);
        // This line generates the error
        System.out.println(printPoint(blank));
    }
}

尝试编译此代码时,您会遇到错误消息:

obj.java:12: 'void' type not allowed here
        System.out.println(printPoint(blank));
                                               ^
1 error

出了什么问题?

错误的根源在于 printPoint 方法。它的声明指定它返回 void,这意味着它不返回任何值。因此,main 方法尝试打印 printPoint 的返回值(void)会导致“此处不允许使用 void 类型”错误。

错误消息的含义是什么?

错误消息清楚地表明方法的返回类型决定了可以对其返回值执行什么操作。在这种情况下,由于 printPoint 方法返回 void,因此无法使用 System.out.println() 打印其返回值。

解决方案

纠正此问题,您需要修改代码以消除 printPoint 返回值的不必要打印。相反,您应该直接调用 printPoint 方法,如下所示:

printPoint(blank);

这将消除类型不匹配并允许代码正确编译和执行。

以上是为什么 Java 会抛出'此处不允许'void'类型”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn