Answer:
Yes. The variable that follows the reserved word this
is an instance variable (part of "this" object).
Method Overloading
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:
- One for ordinary deposits, for which there is no service charge.
- One for other deposits, for which there is a service charge.
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.
QUESTION 12:
Examine main().
Which method, processDeposit(int)
or processDeposit(int, int)
does each statement call?
- statement A calls
- statement B calls