小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java中方法的重寫(override)

 昵稱224999 2009-09-27

Java常見筆試面試題目解析: Java中方法的重寫(override)

public class Parent{
        public void output()throws NullPointerException{
                System.out.println("parent");
        }
}
public class Child extends Parent{
        public void output() throws Exception{
                System.out.println("child");
        }
}
public class OverrideTest {
        public static void main(String[] args) {
                Parent p = new Child();
                p.output();
         }
}

問題:上述程序能編譯通過嗎?如果不能,請說明理由。如果能編譯通過,那么能執(zhí)行成功嗎?如果不能執(zhí)行成功,請說明理由。如果能執(zhí)行成功,那么程序執(zhí)行的結(jié)果是什么?
解答:上述程序無法編譯通過。
分析:此為考察java中方法重寫的要求,由于父類拋出的異常為NullPointerException,而子類拋出的異常為Excetpion, 違背了方法重寫,子類中方法拋出的異常范圍不能大于父類中方法拋出的異常的范圍的原則,所以編譯不能通過。
   
總結(jié):關(guān)于java中方法重寫(override)的要求:
     1、子類中的方法與父類中的方法有相同的返回類型
     2、子類中的方法與父類中的方法有相同的方法名稱
     3、子類中的方法與父類中的方法有相同的參數(shù)列表
     4、子類中的方法的訪問級(jí)別不能低于父類中該方法的訪問級(jí)別(舉例:父類方法的級(jí)別是protected,那么子類重寫該方法,其級(jí)別必須是protected或者public,一定和父類的訪問級(jí)別相同或者更寬,否則編譯無法通過)
     5、子類中方法拋出的異常范圍不能大于父類中方法拋出的異常的范圍(子類可以不拋出異常也滿足該原則,即是說父類拋出異常,子類不拋出異常,編譯通過沒問題。)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多