"SCJP 1.6版考題 017" 修訂間的差異
出自 陳富國維基館
(新頁面: 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 independentl...) |
(無差異)
|
於 2013年3月30日 (六) 08:40 的最新修訂
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;}
解答
Ans: A C E F G
解說:
這是考覆載的觀念, 在子類別中重寫(覆載)父類別的方法(方法名一樣,參數列一樣、回傳值型態一樣), 必須要遵守子類別重寫的方法的存取屬性不能更封閉。 C/E/F/G 沒有問題是因為其參數不一樣,基本上就是不同的方法(overload,同名異式) B錯,是因為開放性變小 D錯是因為回傳值型態不一樣。 (只要參數列一樣,就意謂是一樣的方法。)
|