2Chapter 10 Object-Oriented Programming: Polymorphism and Interfaces
Self-Review Exercises
10.1 Fill in the blanks in each of the following statements:
a) If a class contains at least one abstract method, it’s a(n) class.
b) Classes from which objects can be instantiated are called classes.
c) involves using a superclass variable to invoke methods on superclass and sub-
class objects, enabling you to “program in the general.”
d) Methods that are not interface methods and that do not provide implementations must
be declared using keyword .
e) Casting a reference stored in a superclass variable to a subclass type is called .
10.2 State whether each of the statements that follows is true or false. If false, explain why.
a) All methods in an abstract class must be declared as abstract methods.
b) Invoking a subclass-only method through a subclass variable is not allowed.
c) If a superclass declares an abstract method, a subclass must implement that method.
d) An object of a class that implements an interface may be thought of as an object of that
interface type.
10.3 (Java SE 8 and Java SE 9 interfaces) Fill in the blanks in each of the following statements:
a) In Java SE 8, an interface may declare —that is, public methods with con-
crete implementations that specify how an operation should be performed.
b) As of Java SE 8, interfaces can include helper methods.
c) As of Java SE 8, any interface containing only one method is known as a(n) .
d) As of Java SE 9, any interface may contain instance and static methods.
Exercises
NOTE: Solutions to the programming exercises are located in the ch10solutions folder.
Each exercise has its own folder named ex10_## where ## is a two-digit number represent-
ing the exercise number. For example, exercise 10.12’s solution is located in the folder ex-
10_12.
10.4 How does polymorphism enable you to program “in the general” rather than “in the spe-
cific”? Discuss the key advantages of programming “in the general.”