Given:
1. public class Blip {
2. protected int blipvert(int x) { return 0; }
3. }
4. class Vert extends Blip {
5. // insert code here
6. }
Which five methods, inserted independently at line 5, will compile? (Choose five.)
A.
public int blipvert(int x) { return 0; }
B.
private int blipvert(int x) { return 0; }
C.
private int blipvert(long x) { return 0; }
D.
protected long blipvert(int x) { return 0; }
E.
protected int blipvert(long x) { return 0; }
F.
protected long blipvert(long x) { return 0; }
G.
protected long blipvert(int x, int y) { return 0; }
Explanation:
A: public int blipvert(int x) { return 0; }
compiled successfullyB: private int blipvert(int x) { return 0; }
Main.java:5: blipvert(int) in Vert cannot override blipvert(int) in Blip; attempting to assign weaker access privileges; was protected
private int blipvert(int x) { return 0; }
^
1 errorC: private int blipvert(long x) { return 0; }
compiled successfullyD: protected long blipvert(int x) { return 0; }
Main.java:5: blipvert(int) in Vert cannot override blipvert(int) in Blip; attempting to use incompatible return type
found : long
required: int
protected long blipvert(int x) { return 0; }
^
1 errorE: protected int blipvert(long x) { return 0; }
compiled successfullyF: protected long blipvert(long x) { return 0; }
compiled successfullyG: protected long blipvert(int x, int y) { return 0; }
compiled successfully