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) abstract class.
b) Classes from which objects can be instantiated are called concrete classes.
c) Polymorphism 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 abstract.
e) Casting a reference stored in a superclass variable to a subclass type is called downcasting .
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. False
b) Invoking a subclass-only method through a subclass variable is not allowed. False
c) If a superclass declares an abstract method, a subclass must implement that method. False
d) An object of a class that implements an interface may be thought of as an object of that
interface type. True
10.3 (Java SE 8 interfaces) Fill in the blanks in each of the following statements:
a) In Java SE 8, an interface may declare default methods —that is, public methods with concrete implementations that specify how an operation should be performed.
b) As of Java SE 8, interfaces can now include static helper methods.
c) As of Java SE 8, any interface containing only one method is known as a(n) functional interface .