Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

R9.12 Suppose C is a class that implements the interfaces I and J. Which of the

ID: 3732196 • Letter: R

Question

R9.12 Suppose C is a class that implements the interfaces I and J. Which of the following assignments require a cast?

C c = . . .;
I i = . . .;
J j = . . .;

a. c = i;

b. j = c;

c. i = j;

R9.13 Suppose C is a class that implements the interfaces I and J, and i is declared as

I i = new C();


Which of the following statements will throw an exception?

a. C c = (C) i;

b. J j = (J) i;

c. i = (I) null;

R9.14 Suppose the class Sandwich implements the Edible interface, and you are given the variable declarations

Sandwich sub = new Sandwich();
Rectangle cerealBox = new Rectangle(5, 10, 20, 30);
Edible e = null;


Which of the following assignment statements are legal?

a. e = sub;

b. sub = e;

c. sub = (Sandwich) e;

d. sub = (Sandwich) cerealBox;

e. e = cerealBox;

f. e = (Edible) cerealBox;

g. e = (Rectangle) cerealBox;

h. e = (Rectangle) null;

Explanation / Answer

R9.12) a. c = i;

R9.13) b. J j = (J) i;

R9.14) a. e = sub;

c. sub = (Sandwich) e;