看板 java 關於我們 聯絡資訊
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;} 答案B跟D錯 ACEFG對 B是因為繼承的方法權限只能更開放,故不能用private 但明明C也是private阿,為什麼C對? D是因為overriding回傳型態要跟父類別相同 但明明F/G也改了回傳型別,為什麼對? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.83.17 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1406086950.A.1F9.html
Aztecs:因為CFG是overload吧 07/23 11:51
pzyc79:你標題不就寫了override or overload ,就overload啊... 07/23 12:46
Kennyq:看接收值,ABD是override,CEFG是overload 07/23 14:21
bleed1979:給原po keyword: Method Signature 07/23 15:03
nOhiTmE:因為參數long ,所以不是override 07/25 21:34