Java SE 8 Programmer II — Question 156
Given:
public class Canvas implements Drawable {
public void draw () { }
}
public abstract class Board extends Canvas { }
public class Paper extends Canvas {
protected void draw (int color) { }
}
public class Frame extends Canvas implements Drawable {
public void resize () { }
abstract void open ();
}
public interface Drawable {
public abstract void draw ();
}
Which statement is true?
Answer options
- A. Board does not compile.
- B. Paper does not compile.
- C. Frame does not compile.
- D. Drawable does not compile.
- E. All classes compile successfully.
Correct answer: C
Explanation
The correct answer is C because the Frame class implements the Drawable interface but does not provide an implementation for the draw method, which is required. The other options are incorrect as Board, Paper, and Drawable compile successfully, and the statement about all classes compiling is also false.