Может кто-нибудь объяснить тип возврата void в Java?
28837 просмотра
5 ответа
Единственный вид возвращаемого значения void, который я видел, имеет в методе операторы System.out.println. Поэтому, когда метод будет вызван, эти строки будут напечатаны.
Не могли бы вы сделать строку возвращаемого типа и вернуть строку вместо выполнения возвращаемого типа void?
Если в методе возвращаемого типа void есть другие методы, вы могли бы сделать тип возвращаемого значения значением, которое дает метод, который будет возвращать результат этого метода?
Когда вы можете использовать только возвращаемый тип void?
Автор: Ethan Источник Размещён: 12.11.2019 09:38Ответы (5)
4 плюса
Может кто-нибудь объяснить тип возврата void в Java?
void
Тип используется , чтобы объявить о том , что метод не возвращает значение.
Не могли бы вы просто сделать возвращаемый тип String и установить строку равной параметру, чтобы он отображался при вызове метода?
Гипотетически «вы» (или в данном случае разработчики PrintStream
API) могли бы это сделать, но в этом нет никакого смысла. Я изо всех сил думать о правдоподобной потребительной случае , когда это будет иметь смысл использовать в println
аргумент строка ... если он был возвращен в результате.
Имейте в виду, что основными целями хорошего дизайна API 1 являются:
- хорошо поддерживать общие варианты использования, и
- быть простым для программистов, чтобы понять.
Методы, которые возвращают значения, которые либо не имеют смысла, либо используются редко (если вообще используются), (IMO) плохо разработаны.
Если в методе возвращаемого типа void есть другие методы, вы могли бы создать метод возвращаемого типа, который бы возвращал результат этого метода?
Ну, я так думаю. Но у вас есть те же проблемы, что и выше. Если результат либо используется редко, либо его трудно понять (и, следовательно, трудно использовать правильно ), то, вероятно, плохой дизайн, чтобы вернуть его.
Когда вы можете использовать только возвращаемый тип void?
В одном случае вы реализуете или переопределяете метод в interface
или суперклассе, и этот метод объявляется с void
возвращаемым типом.
Но в отрыве не бывает случаев, когда вы можете использовать только void
. (Но во многих случаях хороший дизайн говорит о том, что его лучше всего использовать void
!)
1 - Есть и другие цели. Пожалуйста, не вынимайте это из контекста ...
Автор: Stephen C Размещён: 09.09.2013 12:292 плюса
Пустой тип возврата просто означает, что ничего не возвращается. System.out.println ничего не возвращает, так как просто выводит строку, переданную ему в качестве параметра.
А также..
Не могли бы вы просто сделать возвращаемый тип String и установить строку равной параметру, чтобы он отображался при вызове метода?
Я понятия не имею, что вы пытаетесь сказать этим.
Автор: Smitty Размещён: 09.09.2013 12:101 плюс
Проще говоря, void ничего не возвращает и не ожидает возврата.
Вы можете прочитать больше о возвращении здесь:
http://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html
Автор: Chris Размещён: 09.09.2013 12:101 плюс
Тип void
возврата используется, чтобы сказать, что метод ничего не возвращает.
Это может быть предметом спора о том, должны ли методы возвращать void
один из аргументов (мы могли бы сделать это, если бы был только один), или this
(мы могли бы сделать это, если мы хотим поддерживать цепочку вызовов методов).
Так что это решение является частью дизайна класса.
Автор: andy256 Размещён: 09.09.2013 12:101 плюс
Пустота используется, когда ваш метод ничего не возвращает .
Распечатка заявления для печати не для возвращения. Если вы хотите, чтобы строка возвращалась из вашего метода. удалите void и поместите ключевое слово String там. И в качестве последней строки метода введите оператор return. return s;
s ваша строковая переменная.
Если вы напишите метод без оператора возврата. Вы должны написать этот метод как void
. Пустота означает, что вы ничего не возвращаете. возврат ничего закрыт.
Вопросы из категории :
- java В чем разница между int и Integer в Java и C #?
- java Как я могу определить IP моего маршрутизатора / шлюза в Java?
- java Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- java Как округлить результат целочисленного деления?
- java Преобразование списка <Integer> в список <String>
- java Почему я не могу объявить статические методы в интерфейсе?
- return Какой лучший способ вернуть несколько значений из функции в Python?
- return Возвращаясь из блока finally в Java
- return Всегда ли выполняется блок finally в Java?
- return Проверка кодов возврата ftp из сценария Unix
- return Как вернуть несколько значений из функции?
- return Возврат функции VB.NET
- void f (void) устарела в современных C и C ++
- void Используется для Java Void Reference Type?
- void Зачем отбрасывать неиспользуемые возвращаемые значения в void?
- void Лучше использовать аргументы C void "void foo (void)" или нет "void foo ()"?
- void Что означает «javascript: void (0)»?
- void JavaScript `undefined` против` void 0`