Что такое void java
Перейти к содержимому

Что такое void java

  • автор:

Что такое void java

Void класс является uninstantiable классом заполнителя, чтобы содержать ссылку на Class объект, представляющий ключевое слово Java пусто.

Полевая Сводка

Поля

Модификатор и Тип Поле и Описание
static Class ВВЕСТИ

Class объект, представляющий псевдотип, соответствующий ключевому слову void .

Сводка метода

Методы java.lang унаследованный от класса. Объект

Полевая Деталь

ВВЕСТИ
public static final ClassVoid> TYPE

Class объект, представляющий псевдотип, соответствующий ключевому слову void .

Платформа Java™
Стандарт Эд. 7

Представьте ошибку или функцию
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE . Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.

Что такое void в Java?

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

Примеры:

  • Когда метод не возвращает значения, его объявление начинается с ключевого слова void :
public void myVoidMethod() < // код метода >
  • Поскольку метод с void не возвращает значение, при вызове его результат не используется:
MyClass obj = new MyClass(); obj.myVoidMethod(); // Вызов метода без использования возвращаемого значения
  • void может использоваться как возвращаемый тип для методов, также как и в объявлениях переменных:
public void doSomething() < // код метода >public void anotherMethod() < // код метода >public static void main(String[] args) < // Создание объекта и вызов методов MyClass obj = new MyClass(); obj.doSomething(); obj.anotherMethod(); >

Применение Java Void Reference Type: детальный разбор

Ссылочный тип Void в Java – это объектный аналог примитивного типа void . Его часто используют как заглушку в случае работы с обобщенными типами, когда нет необходимости возвращать значение. Например, Void используется в обобщенных типах, как в выражении Callable , когда задача выполняется, но не возвращает никакого результата.

Скопировать код

ExecutorService executor = Executors.newSingleThreadExecutor(); executor.submit(() -> < // Код выполняется, но ничего не возвращает return null; >);

Использование рефлексии: void в сравнении с Void

В рефлексии класс Void.TYPE представляет объект, соответствующий примитивному типу void . Это позволяет определить, действительно ли метод возвращает void .

Скопировать код

Method method = MyClass.class.getMethod("methodName"); if (method.getReturnType().equals(Void.TYPE)) < // Метод не возвращает значение. >

Ограничения обобщённых типов: использование Void как заглушки

При проектировании API и интерфейсов с использованием обобщённых типов Void удобно использовать для обозначения классов, методы которых не предполагают возврат данных.

Скопировать код

Map keysWithNoValues = new HashMap<>(); // Карта без значений, только ключи. keysWithNoValues.put("KeyA", null); // . 

Конкурентное программирование

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

Скопировать код

Future future = executor.submit(() -> < // Выполнение задачи занимает длительное время return null; >);

Визуализация

Void можно интерпретировать как пустую коробку, которую можно передать в функцию.

Скопировать код

Void emptyBox = null; // Пустая коробка ��

Она может быть тихой посылкой:

Скопировать код

Function doNothingFunc = (Void v) -> < // Принимаем пустую коробку, возвращаем пустую return v; >;

Использование Void для выполнения задачи, не возвращающей значение:

Скопировать код

Callable silentTask = () -> < // Действие выполняется, результат не возвращается return null; // Возвращается пустая коробка �� >;

Продвинутые сценарии использования Void

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

Void может служить индикатором того, что классы, такие как System и Math , не предназначены для создания экземпляров.

Указание null в интерфейсах безопасности

Используя системные интерфейсы безопасности, такие как java.security.PrivilegedAction , Void может обозначать действие, не возвращающее значение.

Обобщенные типы и типобезопасность

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

Полезные материалы

  1. Void (Java Platform SE 8) – официальная документация
  2. Джошуа Блох, «Эффективное использование Java», 3-е издание
  3. Ссылки на методы (Учебные руководства по Java™)
  4. Использование рефлексии и Void.TYPE
  5. Обобщенные типы в Java и заполнители типов

Ключевое слово void, его особенности и return [дубликат]

Выводится в консоль: 14 Не могу понять зачем нам void , если мы можем написать public **int** run(. ) Пытаюсь разобраться с void и return.

Отслеживать
задан 19 ноя 2018 в 11:49
Петровченко Иван Петровченко Иван
1,913 1 1 золотой знак 13 13 серебряных знаков 38 38 бронзовых знаков
В первом примере функция run не возвращает ничего.
19 ноя 2018 в 11:52

Вы видите одно и то же, а под капотом происходит разное. Можно вообще просто написать в методе main одну строчку System.out.println(«14»); и спрашивать, зачем нам вообще нужны какие-то функции, методы и классы, когда я просто могу вывести «14» одной строчкой кода.

19 ноя 2018 в 12:34

Вы месяц назад уже задавали такой вопрос и даже отметили один из ответов. Зачем опять задавать такой же вопрос?

19 ноя 2018 в 12:37

@Эникейщик я понял как это работает, но не пойму что использовать и как? Потому что выше 2 примера работают одинаково.

19 ноя 2018 в 12:50
@Эникейщик то есть 1 пример говорит: зачем нам return если можно сделать так (как в 1 примере)
19 ноя 2018 в 12:50

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Весь смысл функции с типом void — это действия без отчета. Если функция не void , то она по возвращает какой-то результат и заканчивает работу.
В первом примете, если у вас, к примеру, нет доступа к консоли, вы никогда не узнаете о том, что функция выполнена.
Во втором случаи, функция отсылает «отчет» о том, что она сделала, и вы видите результат. И так, void используем для функций, которые работают независимо и мы не ждем от них «отчета».

Ключевое слово return прекращает выполнение функции. Можно использовать и в циклах ( break ), функциях.

public void count(int stop) < for(int i = 0; i < 100; i++) < System.out.println(i); if (i == stop) < return; >> > 

В данном случаи мы в функцию передаем число, после которого следует прекратить вывод чисел.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *