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

时间:2011-11-21 19:32:01

标签: java methods

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

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

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

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

Java 中的重点是什么?

2 个答案:

答案 0 :(得分:17)

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

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

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

答案 1 :(得分:1)

你可以尝试

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