2013-12-11 4 views
1

Мне хорошо известно, что ключевое слово void используется для указания в объявлении метода, что метод не будет возвращать значение. Мой вопрос не в том, чтобы использовать аналогию - как пользоваться автомобилем, а скорее о том, что находится под капотом. Я хотел бы знать, почему void действительно нужно указать, т. Е. Сохраняет ли Java внутреннюю переменную какого-либо типа, чтобы отслеживать возвращаемые типы? Будет ли установка метода void сделать его так, чтобы он не должен был это делать?Почему использование java недействительно?

Другой способ выразить это: - спросить, почему именно Java не может пропустить ключевое слово void и предположить, что если нет возвращаемого типа, чем метод недействителен? Я думаю, что есть что-то делать с тем, как Java может «подготовиться» к обработке возвращаемого типа и, возможно, что-то делать с оптимизацией ... пожалуйста, используйте полную информацию.

+1

Возможный дубликат http://stackoverflow.com/questions/7367381/what-does-void-do-in-java –

+1

Если вы опустите void, это будет конструктор, это просто способ сохраняйте синтаксис и синтаксический анализатор простыми: все методы имеют тип возврата, даже если они ничего не возвращают. –

+0

Если вы хотите посмотреть, что находится под капотом, вы можете просто посмотреть исходный код. Что касается того, почему методы имеют возвращаемые типы, Марк прав. –

ответ

1

мой ответ немного догадку. Но я бы сказал, чтобы он защитил разработчика от просто забывания объявить тип возврата. Конечно, компилятор может даже по умолчанию запрограммировать визуализацию необъявленных типов возврата void. Но это было бы дорого для помощи разработчику.

Кроме того, IDE должны были бы ожидать на том же самом.

2

Его язык Java Спецификация void используется только с методами декларации

если опустить void, то его рассматривают как конструктор.

СМ THIS

+0

Боже, это решило много боли, которую я испытывал. Теперь я могу использовать супер, и теперь я понимаю, почему супер работает только тогда, когда вы опускаете пустоту от конструктора и почему он работает, опускается. –

Смежные вопросы