You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中void方法的返回值是什么?传入System.out.println会发生什么?

关于Java中void方法的那些疑问

嘿,这个问题其实挺耐人寻味的,我来给你把Java里的情况讲明白~

首先先明确Stack Overflow对void的定义:

Void:当方法/函数不返回任何值时,用作返回类型的语法占位符的不完全类型。

一、Java里的void方法究竟返回什么?

答案很直接:它什么都不返回。既不是null,也不是其他语言里的undefined,更不会默认抛出异常(除非你在方法内部主动写了throw逻辑)。void就是一个纯粹的语法标记,用来告诉编译器和开发者:这个方法执行完任务就结束,没有任何数据要传递给调用它的地方。

二、如果用System.out.println()调用void方法会发生什么?

别说是运行了,Java编译器直接就会给你报错!因为System.out.println()需要接收一个参数来打印,但void方法没有返回值,根本拿不出东西传给它。举个例子:

public class Test {
    public static void voidMethod() {
        System.out.println("我是void方法");
    }
    
    public static void main(String[] args) {
        // 下面这行代码编译直接失败!
        System.out.println(voidMethod());
    }
}

编译器会提示类似“'void' type not allowed here”的错误,连编译这关都过不了,更别提运行了。

三、是否取决于编程语言?

没错!不同语言对类似“无返回值”的处理确实有差异。比如有些脚本语言里,没有返回值的函数可能会默认返回undefined,但Java是强类型语言,对类型的检查非常严格,void就是明确的“无返回值”标记,不存在隐性返回值这回事。

内容的提问来源于stack exchange,提问作者Carlos de Almeida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 22:57:29