大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 java繼承方法規則或規律

java繼承方法規則或規律

更新時間:2019-09-10 16:32:35 來源:動力節點 瀏覽2655次

 

    方法的繼承與屬性的繼承有很大的不同,屬性任何繼承方式均可,而方法則有各種限制,于是動力節點Java培訓機構小編在這里做了一個簡單的總結。


timg.jpg


  1、修飾符相同的方法覆蓋,即只改內部,不改外部


  2、訪問權限不同的方法覆蓋,子類只能相對父類越來越寬松,例如父類是public,子類就不能是缺省或protect,private


  3、返回值的類型覆蓋,只允許相容的返回類型,例如不能將返回值為int型改為double型,但是復合類型則例外


  4、final的方法覆蓋,只能是父類無,子類有,而不能是父類有,子類無


  5、static(靜態)的方法覆蓋不能有任何變動,即父類有,子類必須有,父類無,子類也必須無


  實例如下:


  父類:


package ExtendMethod;


public class CommonMethod {

    protected int x=100;

    public int getX() {//定義一個普通返回值的實例方法

        return x;

    }

    public CommonMethod getObject() {//定義一個返回復合類型的方法

        return new CommonMethod();

    }

    public final void setX(int ix) {

        x=ix;

    }

    protected  void proShowMsg() {//定義一個具有保護權限的方法

        System.out.println("this is protected ShowMsg() in Common class");

    }

    

    public void pubShowMsg() {//定義一個具有公共訪問權限的方法

        System.out.println("this is public showMsg() in Common class");

    }

    static public void stShowMsg() {//定義一個靜態方法

        System.out.println("this is static showMsg() in Common class");

    }

}



一、修飾符相同的可以任意覆蓋:


public class OverrideMember_1 extends Common{

    //覆蓋父類中的同名實例方法

    public void pubShowMsg() {

        System.out.println("this is public showMsg in derive class");

    }

    //覆蓋父類中的同名靜態方法

    static public void stShowMsg() {

        System.out.println("this is static showMsg() in derive class");

    }

    //可以任意覆蓋

    public static void main(String args[]) {

        OverrideMember_1 oa =new OverrideMember_1();

        oa.pubShowMsg();

        oa.proShowMsg();

    }

}



二、訪問權限不同的覆蓋,只能越來越寬松,private——>public的方向


public class OverrideMember_2 extends Common{

    public void proShowMsg() {//覆蓋父類中的protect方法,public > protect,正確

        System.out.println("this is public ShowMsg()");

    }

    /*protected void pubShowMsg() {//權限越來越嚴格,錯誤,protect < public

        System.out.println("this is protect ShowMsg()");

    }*/

}



  三、返回值類型的覆蓋


public class OverrideMember_3 extends Common {

    //覆蓋getX()方法,但返回的數據類型不同,原方法是int型,錯誤

    /*public double getX() {

        return (double)x;

    }*/

    //覆蓋getObject(),返回類型相容,正確,原方法的返回類型是新common對象,復合類型

    public OverrideMember_3 getObject() {

        return new OverrideMember_3();

    }

}



  四、final的方法覆蓋,只能從無到有,不能從有到無


public class OverrideMember_4 extends Common{

    //覆蓋getX()方法,并將其指定為最終方法,正確,原方法為public int getX()

    public final int  getX() {

        return x;

    }

    //覆蓋最終方法,錯誤,原方法為 public final void setX()

    /*public void setX(int ix) {

        x=ix;

    }*/

}



五、static不能有任何改變


public class OverrideMember_5 extends Common{

    //試圖覆蓋實例方法,將其改為靜態方法,錯誤,原型為 public void pubShowMsg()

    /*public static void pubShowMsg() {

        System.out.println("this is public ShowMsg()");

    }*/

    //試圖覆蓋靜態方法,并將其指定為實例方法,錯誤

    /*public void stShowMsg() {

        System.out.println("this is static ShowMsg()");

    }*/

}

//總結,靜態與實例之間不能相互轉換


timg (3).jpg


以上就是動力節點Java培訓機構小編介紹的“java繼承方法規則或規律”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


相關視頻教程推薦


java初級入門教程下載——java中方法覆蓋的規則:http://m.dabaquan.cn/xiazai/2552.html


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久亚洲人成国产精品 | 在线观看国产福利 | 91成人免费观看网站 | 99久久免费国产精品特黄 | 久久88香港三级台湾三级中文 | 天天综合天天综合色在线 | 久久精品国产亚洲沈樵 | 久久国产香蕉视频 | 免费视频 久久久 | 久久精品影院一区二区三区 | 欧美日韩性大片 | 在线中文字幕观看 | 成人精品一区二区三区校园激情 | 欧美精品成人久久网站 | 国产精品成人观看视频网站 | 国产小姨子 | 国产在线视频你懂得 | 亚洲精品午夜久久久伊人 | 91成人午夜性a一级毛片 | 亚洲欧美乱综合图片区小说区 | 天天摸夜夜添 | 麻豆国产在线观看一区二区 | 欧美一级片免费在线观看 | 国产91在线|亚洲 | 国产日韩欧美亚洲综合首页 | 久久黄色精品视频 | 污宅男666在线永久免费观看 | 欧美肥老太婆交 | 日本人一级毛片免费完整视频 | 中文字幕亚洲精品日韩精品 | 播放一级录像片 | 99热久久精品国产66 | 欧美在线中文 | 亚洲a成人7777777久久 | 深夜你懂的在线网址入口 | 亚洲91色| 国产玖玖在线观看 | 2018天天操天天干 | s级毛片| 欧美第一视频 | 日日骑夜夜操 |