java中的Void实际上不返回任何值吗?

0 java

我读到该关键字在 java 中void不返回任何值。我尝试运行一个简单的程序。但我不认为按照我的阅读方式进行工作是无效的。这是例子......

public class Main {
    public static void main(String args[]){
        intro("Arun", "Saravanampatti");
        intro("Kalyana Sundram", "Kovil Patti");
    }

    static void intro(String name, String place){
        System.out.println("Hello bro my name is " + name +". and I'm from " + place);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我创建了一个使用intro关键字void. 因此,方法的值(例如名称和地点)不应超出介绍方法的范围。并且它不应该将值返回给 main 方法。但这里确实如此。这怎么可能。

dan*_*1st 6

您混淆了打印/输出和返回。

打印(使用System.out.println)意味着您将一些信息发送到执行程序的控制台。

另一方面,返回是将一个值发送回调用方法:

public void caller(){
    int i=calee();//get a value from a method (must be returned from callee) 
    System.out.println(i);//print the value
}
public int calee(){
    return 1337;//give 1337 back to the calling method 
}
Run Code Online (Sandbox Code Playgroud)