亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

本人無法理解,為什么選擇AD?求指點?

本人無法理解,為什么選擇AD?求指點?

搖曳的薔薇 2023-03-21 18:14:47
which two declaretions prevent the overriding of a method?    A. final void methoda(){}    B. void final methoda(){}    C. static void methoda(){}    D. static final void methoda(){}    E. final abstract void methoda(){} 
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

一般工具類會提供static final的方法。static是類上的方法,可以直接在class級別調用,final阻止子類重寫。 
比如Collection framework里面的Collections類里面就提供了幾個static final的方法 
emptyMap,emptyList,emptySet

查看完整回答
反對 回復 2023-03-24
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

剛開始,對于D我感覺非常奇怪,本來static方法(類方法)就是不會被重寫的,加上final是沒有意義的,但是編譯器卻沒有報錯; 

        后來我發現D選項的static方法加上final還有有一定的區別的:首先,正常情況下static方法是不能被重寫的,static方法是編譯期就確認的調用,即使子類里聲明并實現了相同簽名的static方法,這也不是重寫。其次,如果加上final后,發現在子類中就不能聲明并實現相同簽名的static方法,編譯器會報錯說不能重寫該方法; 

        按上面所說,這道題的D也可以算作正確而已;通常我們是不會用final來修飾static方法的;

查看完整回答
反對 回復 2023-03-24
  • 2 回答
  • 0 關注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號