Question 15
What determines which version of an overridden method is executed?
| the static type of the variable that acts as the 'qualifier' in the method call |
| the dynamic type of the variable that acts as the 'qualifier' in the method call |
| the data types of the arguments of the method call |
| the name of the class where the method call is located |
Question 16
What determines which version of an overloaded method is executed?
| the static type of the variable that acts as the 'qualifier' in the method call |
| the dynamic type of the variable that acts as the 'qualifier' in the method call |
| the data types of the arguments of the method call |
| the name of the class where the method call is located |
Question 17
A programmer writing code in class Point attempts to override the following inherited method: public boolean equals( Object o ) { ... } but does not match the method signature exactly. Instead, the programmer uses the following method signature: public boolean equals( Point p ) { ... } What is the result?
| A syntax error occurs because the method signatures do not match. |
| The code compiles and works fine -- the method has been successfully overridden. |
| The code compiles, but the inherited method has not been overridden -- it has been overloaded instead. |
| The compiler automatically changes the method signature to match the inherited method. |
| The compiler issues a warning, but the method is successfully overridden. |
Question 18
Given the following class hierarchy: Siamese "Is-A" Feline "Is-A" Mammal "Is-A" LivingThing Which of the following is true?
| ( new Mammal() ) instanceof LivingThing |
| ( new Feline() ) instanceof LivingThing |
| ( new Siamese() ) instanceof LivingThing |