Что такое формальный параметр в Java?
в настоящее время я работаю над устаревшим кодом java, и я сталкиваюсь с классом, который представляет собой формальный параметр, но я не знаю, почему это так. Я читал о C++ Формальные Параметры, но это смутило меня, потому что в C++ это то же самое, что и аргумент (я сомневаюсь в этом утверждении), и в моем унаследованном коде это класс, который имеет только частный член int, который хранит число (с их методами set & get), но, честно говоря, я не нашел почему этого декларация.
3 ответов
в Java и в C++ в сигнатуре метода указан формальный параметр:
public void callIt(String a)
callIt
имеет один формальный параметр, который является String
. Во время выполнения мы говорим о фактических параметрах (или аргументах):
callIt("Hello, World");
"Здравствуй, Мир!" String
является фактическим параметром,String a
является формальным параметром.
из записи Википедии для параметр:
термин параметр (иногда называют формальный параметр) часто используется для ссылки на переменную, найденную в определении функции,
и:
аргумент (иногда называют фактический параметр) относится к фактическому прошел ввода.
не спорю с Эллиотом Фришем вообще, но могу сказать проще:
переменная w
является "формальным параметром"в следующем определении функции:
void foobar(Widget w) {
...
}
значение, возвращаемое nextWidget(...)
является "фактическим параметром", когда вы пишете следующую функцию вызов:
foobar(nextWidget(...));
ну, приходя к Java или любому языку, эти определения всегда верны:
caller-функция вызывает вызов функции.
callee-функция, вызываемая вызывающим объектом.
термин аргумента технически в программировании относится к данным, которые передаются вызывающим абонентом вызываемому абоненту.
и термин параметра технически относится к типу передаваемых данных больше в частности, к идентификатору, который идентифицирует тип данных. Таким образом, параметр более или менее ссылается на идентификатор, идентифицирующий определенный тип. Далее, формальным параметром является идентификатор, используемый в сигнатуре метода вызываемого абонента.
и фактическим параметром является идентификатор, используемый вызывающим абонентом при вызове звонок.
поскольку вы знаете, что мы можем даже передать аргументы (т. е. данные) в вызове вызываемому напрямую, фактические параметры не являются обязательные и, следовательно, непосредственно данные могут передаваться, тогда как формальные параметры всегда обязательны.