Что такое формальный параметр в 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-функция, вызываемая вызывающим объектом.

термин аргумента технически в программировании относится к данным, которые передаются вызывающим абонентом вызываемому абоненту.

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

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

поскольку вы знаете, что мы можем даже передать аргументы (т. е. данные) в вызове вызываемому напрямую, фактические параметры не являются обязательные и, следовательно, непосредственно данные могут передаваться, тогда как формальные параметры всегда обязательны.