Yes. The variable that follows the reserved word this
is an instance variable (part of "this" object).
Overloading is when two or more methods of a class have the same name but have different parameter lists. When a method is called, the correct method is picked by matching the actual parameters in the call to the formal parameter lists of the methods.
Review: another use of the term "overloading" is when an operator
calls for different operations depending on its operands.
For example +
can mean integer addition,
floating point addition, or string concatenation
depending on its operands.
Say that two processDeposit()
methods were needed:
class CheckingAccount { . . . . private int balance; . . . . public void processDeposit( int amount ) { balance = balance + amount ; } public void processDeposit( int amount, int serviceCharge ) { balance = balance + amount - serviceCharge; } }
The above code implements these requirements.
Here is an example main()
method that uses both methods:
class CheckingAccountTester { public static void main( String[] args ) { CheckingAccount bobsAccount = new CheckingAccount( "999", "Bob", 100 ); bobsAccount.processDeposit( 200 ); // statement A bobsAccount.processDeposit( 200, 25 ); // statement B } }
There are two method calls, and two methods to pick from. A method call invokes to the method that matches it with both its name and its parameter list.
Examine main()
.
Which method, processDeposit(int)
or processDeposit(int, int)
does each statement call?