Почему java использует пустоту?

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

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


person Community    schedule 11.12.2013    source источник
comment
Возможный дубликат stackoverflow.com/questions/7367381 /что-недействительно-делает-в-java   -  person Elliott Frisch    schedule 11.12.2013
comment
Если бы вы опустили void, это был бы конструктор, это просто способ упростить синтаксис и синтаксический анализатор: все методы имеют возвращаемый тип, даже если они ничего не возвращают.   -  person Mark Rotteveel    schedule 11.12.2013
comment
Если вы хотите увидеть, что находится под капотом, вы можете просто посмотреть исходный код. Что касается того, почему методы имеют возвращаемые типы, Марк прав.   -  person Rahul Iyer    schedule 11.12.2013
comment
это просто синтаксис. И да, ясный синтаксис помогает компиляторам делать вещи легко и без двусмысленности.   -  person qwr    schedule 11.12.2013
comment
возможный дубликат Что делает возвращать ключевое слово делать в методе void в Java?   -  person Vorsprung    schedule 11.12.2013
comment
Если бы кто-нибудь мог сказать мне, как мой вопрос вводит предвзятость, я бы смог это исправить. На данный момент просто отложить это недостаточно. Я понятия не имею, как мой вопрос может быть истолкован как самоуверенный.   -  person    schedule 11.12.2013


Ответы (2)


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

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

person nl-x    schedule 11.12.2013