3. Formal and Actual Parameters


Answer:

    1. Will the instance variable balance hold its value permanently?
      • Yes — balance is part of the state of the object and holds its value as long as the object exists.
      • (Of course, an assignment statement might change value.)
    2. Will the parameter amount hold its value permanently?
      • No — amount is used only to pass in a value into the method. It does not permanently hold a value.

    Formal and Actual Parameters

    An identifier is a name used for a class, a variable, a method, or a parameter. The following definitions are useful:
        • formal parameter — the identifier used in a method to stand for the value that is passed into the method by a caller.
          • For example, amount is a formal parameter of processDeposit
        • actual parameter — the actual value that is passed into the method by a caller.
          • For example, the 200 used when processDeposit is called is an actual parameter.
          • actual parameters are often called arguments

    When a method is called, the formal parameter is temporarily "bound" to the actual parameter. The method uses the formal parameter to stand for the actual value that the caller wants the method to use.

    For example, the processDeposit method uses the formal parameter amount to stand for the actual value used in the procedure call:

    balance = balance + amount ; 

    Formal parameters are bound to an actual value only as long as their method is active. When a method returns to its caller, the formal parameters no longer contain any values. They cannot be used to store the state of an object.

    The next time a formal parameter is used, it starts with a fresh value. It does remember the previous value it had.

    Question 3:

    What is used to store the state of an object?