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

eve*_*sor 0 java methods

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

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

public void foo(void) {/*...*/}
Run Code Online (Sandbox Code Playgroud)

在这里你可以找到这个问题的答案,但对于C/C++.在这些语言中,两种声明风格的存在都是完全合理的.

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

Jon*_*eet 17

后者的声明在Java中是非法的.你不能声明这样的方法.你应该得到这样的错误:

Test.java:8: error: <identifier> expected
    public void foo(void) {/*...*/}
                        ^
1 error
Run Code Online (Sandbox Code Playgroud)

所以不仅没有意义 - 你根本找不到试图使用这种风格的有效代码.