Java Reference
In-Depth Information
Answers to Self-Test Exercises
1. Yes, it will have the instance variables. A derived class has all the instance variables
that the base class has and can add more instance variables besides.
2. Yes, it will have the methods. A derived class has all the public methods that the
base class has and can also add more methods. If the derived class does not over-
ride (redefine) a method definition, then it performs exactly the same action in
the derived class as it does in the base class. However, the base class can contain
an overriding definition of (a new definition of) a method, and the new defini-
tion will replace the old definition (provided it has the same number and types
of parameters).
3. The class
DiscountSale
will have two methods named
getTax
and will have the
following two headings. This is an example of overloading.
public double
getTax()
public double
getTax(double rate)
4. The method
getName
is inherited from the class
Employee
and so needs no defini-
tion. The method
getRate
is a new method added in the class
HourlyEmployee
and so needs to be defined.
5. Yes. You can plug in an object of a derived class for a parameter of the base class
type. An
HourlyEmployee
is an
Employee
. A
SalariedEmployee
is an
Employee
.
6 .
public class
TitledEmployee
extends
SalariedEmployee
{
private
String title;
public
TitledEmployee()
{
super
("no name", newDate("January," 1, 1000),
0
);
title = "No title";
}
public
TitledEmployee(String theName, String theTitle,
Date theDate,
double
theSalary)
{
super
(theName, theDate, theSalary);
title = theTitle;
}
public
String getTitle()
{
return
title;
}