Java Void方法返回

时间:2015-08-20 20:00:45

标签: java methods void

爪哇: 为什么一个名为void的方法(即它没有返回任何东西)如果它返回这个:

System.out.println("Something");

例如:

public static void sayHello() {
        System.out.println("Hello");
}

确实会返回一些内容,这条消息!

8 个答案:

答案 0 :(得分:3)

我会说它会向标准输出打印一条消息,但它不会向调用语句返回任何内容。

答案 1 :(得分:1)

此方法确实某些内容(打印" Hello"),但它不会返回任何内容。如果它返回了一个值,您就可以执行此操作:

aVariableToAssignReturnValue = sayHello(); //you can't do it!

例如,阅读this

答案 2 :(得分:1)

考虑这两个例程。

public void sayHello() { System.out.println("Hello"); }

public int giveANumber() { System.out.println("Hi"); return 42; }

你怎么称呼他们?

sayHello();
int i = giveANumber();

由于sayHello无效,因此当您调用它时,左侧没有等号,也没有任何内容。但是,由于giveANumber返回一个int,您应该使用等号和整数来调用它以接收左侧的值。

答案 3 :(得分:1)

在编程语言历史中,有Algol68,可能是最好的程序语言。这是第一个完全定义的语言,所有内容都是打字的。可以这么说和表达语言。

其中VOID是具有单值SKIP的类型。 PROC()VOID,一种方法,可以被强制转换为VOID,进行呼叫。

答案 4 :(得分:0)

它不会返回任何可以存储在变量中。

所以它根本就不会返回任何东西。

但它可以执行打印到控制台之类的操作。

答案 5 :(得分:0)

"返回"在这种情况下意味着一个值通过堆栈传回,可以分配给调用代码中的变量。在你的例子中并非如此。

Object o = sayHello(); // WRONG - Compile error

void方法可以做的事情 - 在你的情况下打印到屏幕。这不是"返回"在这里描述的这些。

由于问题在页面顶部显示为" Java Void Methods Return"有资本" V" on" Void"值得注意的是,Java有一个类" Void"除了关键字" void。"声明返回Void的方法会返回一些东西 - 但如果这是你的情况,你应该查看该类的文档,因为它是一种特殊情况。

答案 6 :(得分:0)

这很简单直接,因为你要求他执行一些不返回的东西。你的方法返回一个没有任何意义的void。作为一名c程序员,在C中,一个不返回任何内容的方法称为过程。更多结帐What is the difference between a "function" and a "procedure"?

答案 7 :(得分:0)

sayHello()没有退货声明;因此,它是void方法。根据您的假设,唯一真正的void方法看起来像这样:public static void wowSuchVoid(){ }。什么是重点?