Подтвердить что ты не робот

Недействителен ли тип?

Я не могу полностью ответить "почему мы должны называть" void "- это" тип возврата "?

Как доказать, что " void" является типом?

4b9b3361

Ответ 1

void не является типом, он также не является возвращаемым типом:

в JLS 14.8 вы можете найти примечание об этом типе:

Обратите внимание, что язык программирования Java не позволяет "лить в пустоту" - void не тип

Ответ 2

Спецификация языка Java говорит, что:

[...] каждая переменная, и каждое выражение имеет тип, который можно определить во время компиляции. Тип может быть примитивным типом или ссылочным типом.

void не является допустимым типом. Однако void является допустимым ключевым словом, используемым для указания того, что метод не возвращать значение.

Void JavaDoc также говорит, что void - это ключевое слово:

Класс Void является неинсталлируемым классом-заполнителем для ссылки на объект класса, представляющий ключевое слово Java void

Сравните это с Целочисленным JavaDoc:

Класс Integer обертывает значение примитивного типа int в объекте. Объект типа Integer содержит одно поле, тип которого является int.

Класс void представляет ключевое слово void ; в то время как класс Integer представляет тип int .

Ответ 3

Цитата:

ТИП

публичный статический окончательный класс TYPE
Объект класса, представляющий примитивный Java-тип void.

Взято из: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Void.html

Или я неправильно понял вопрос?

Ответ 4

Надежда класс void объясняет, почему void является типом.

Класс Void - это неинтересный класс-заполнитель для хранения ссылка на объект класса, представляющий ключевое слово void Java.

public final class Void extends Object

Ответ 5

Да, void определенно тип, что означает "ничего". Кстати, вы имеете в виду C (С++, Objective-C,...). Не могу сказать ни одного языка, но в C (С++, Objective-C,...) void - это тип.
Но это особый тип данных. Вы не можете объявить переменную типа void. Это отличается от других типов. Но вы можете объявить указатель на пустоту. Функция, возвращающая значение void означает, что функция не имеет возвращаемого значения или ничего не возвращает. Это боится всех случаев, когда можно использовать тип void.
void * v;/** объявляет переменную v как указатель на void */
* v, используемое как левое значение в выражении, может быть присвоено значение любого типа без приведения типов. Вот почему тип void был введен в язык.

Вы обновили свой вопрос, подчеркнув, что вы спрашивали о Java. Java не имеет указателей и функций. Тип void используется в объявлениях методов, возвращающих ничего.

Ответ 6

Любой метод класса должен указывать тип возвращаемого значения. Можно указать ключевое слово 'void', указав, что у него нет возвращаемого типа, например:

public void SetPantsSize(int width);

Существует также класс void: http://download.oracle.com/javase/6/docs/api/java/lang/Void.html

Ответ 7

Void является типом в большинстве языков и, учитывая типичную систему типов, имеет смысл думать об этом как о типе, который указывает "ничего". Вы не указали свой язык, но, например, в С#, ключевое слово void соответствует .NET void type.

Ответ 8

void - это тип языка Java (вы можете прочитать это непосредственно в Спецификации языка Java). Однако тип void не имеет значений элементов, то есть никакого конкретного значения никогда не будет иметь тип void. void поэтому используется, чтобы указать, что метод не может вернуть значение при вызове (то есть void - это тип "нет значения" ).

Ответ 9

K & R (2nd Edition) непрерывно ссылается на "тип void", поэтому в C это тип.