Разница между `foo ()` и `foo (void)` - PullRequest
0 голосов
/ 21 ноября 2011

Есть ли в Java разница между этими двумя объявлениями функций?

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

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

Здесь вы можете найти ответ на этот вопрос, но для C / C ++ . В этих языках имеет смысл наличие обоих стилей объявления.

Но какой в ​​этом смысл в Java ?

Ответы [ 2 ]

17 голосов
/ 21 ноября 2011

Последнее объявление незаконно в Java.Вы не можете объявить такой метод.Вы должны получить ошибку, подобную этой:

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

Так что не только в этом нет никакого смысла - вы просто не найдете корректный код, который пытается использовать этот стиль.

1 голос
/ 31 декабря 2012

Вы можете попробовать

public void foo(Void v) {/*...*/}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...