Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java `foo()`和`foo(void)之间的区别`_Java_Methods - Fatal编程技术网

Java `foo()`和`foo(void)之间的区别`

Java `foo()`和`foo(void)之间的区别`,java,methods,Java,Methods,在Java中,这两个函数声明之间有什么区别吗 public void foo() {/*...*/} public void foo(void) {/*...*/} 你可以找到这个问题的答案,但是对于C/C++。在这些语言中,这两种声明样式的存在是完全有意义的 但是在Java中,这有什么意义呢?后一种声明在Java中是非法的。不能声明这样的方法。您应该得到如下错误: Test.java:8: error: <identifier> expected public void

在Java中,这两个函数声明之间有什么区别吗

public void foo() {/*...*/}

public void foo(void) {/*...*/}
你可以找到这个问题的答案,但是对于C/C++。在这些语言中,这两种声明样式的存在是完全有意义的


但是在Java中,这有什么意义呢?

后一种声明在Java中是非法的。不能声明这样的方法。您应该得到如下错误:

Test.java:8: error: <identifier> expected
    public void foo(void) {/*...*/}
                        ^
1 error
Test.java:8:错误:应为
公共void foo(void){/*…*/}
^
1错误
因此,这不仅没有意义——您根本找不到尝试使用这种样式的有效代码。

您可以尝试

public void foo(Void v) {/*...*/}

“你凭什么认为这是编译的?”柯克沃尔很遗憾,我的老师……上帝在java中自由漫游。