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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 大家想要了解的-方法的覆蓋和重載

大家想要了解的-方法的覆蓋和重載

更新時(shí)間:2023-02-09 16:32:44 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3057次

一.方法覆蓋

① 方法覆蓋發(fā)生在具有繼承關(guān)系的父子類之間,這是首要條件;

② 覆蓋之后的方法與原方法具有相同的返回值類型、相同的方法名、相同的形式參數(shù)列表

③覆蓋之后的方法不能比原方法擁有更低的訪問(wèn)權(quán)限,可以更高(學(xué)習(xí)了訪問(wèn)控制權(quán)限修飾符之后你就明白了);

④ 覆蓋之后的方法不能比原方法拋出更多的異常,可以相同或更少(學(xué)習(xí)了異常之后就明白了);

⑤與了多態(tài)機(jī)制之后相同的返回值類型"可以修改一下嗎?

對(duì)于返回值類型是基本數(shù)據(jù)類型來(lái)說(shuō),必須一致

對(duì)于返回值類型是引用數(shù)據(jù)類型來(lái)說(shuō),重寫之后返回值類型可以變的更小但不能變大(但意義不大,開(kāi)發(fā)無(wú)意義)

public class OverrideTest01 {
    public static void main(String[] args) {
        Bird2 b=new Bird2();
        b.move2();
        Cat2 c=new Cat2();
        c.move2();
        c.move2(1);//構(gòu)成方法重載
    }
}
class Animal2{
    public void move2() {
        System.out.println("fly");
    }
}
class Bird2 extends Animal2 {

    public void move2() {
        System.out.println("I want fly");
    }
}    
 /*   private void move2(){
        System.out.println("I want fly");
    }
}*/
class Cat2 extends Animal2 {
    public void move2(int i){
        System.out.println("I want talk");
    }
}

I want fly

I want talk

私有方法不可覆蓋,靜態(tài)方法覆蓋沒(méi)什么意義

public class OverrideTest06{
    private void dosome(){
        System.out.println("private dosome method dosome execute");
    }
    public static void main(String[] args){
        OverrideTest06 at=new T();
        at.dosome();
    }
}
class mytest{
    public static void main(String[] args){
        OverrideTest06 ot = new T();
        ot.dosome();

    }
}
class T extends OverrideTest06{

    public void dosome(){
        System.out.println("T 's public dosome method execute");
    }
}

//經(jīng)過(guò)測(cè)試,私有方法不可覆蓋

注意事項(xiàng)

注意1:方法覆蓋只是針對(duì)于方法,和屬性無(wú)關(guān)。

注意2:私有方法無(wú)法愛(ài)蓋

注意3:構(gòu)造方法不能被繼承,所以構(gòu)造方法也不能被愛(ài)蓋

注意4:方法覆蓋只是針對(duì)于實(shí)例方法",靜態(tài)方法覆蓋”沒(méi)有意義。

二.方法重載

方法重載是指在一個(gè)類中定義多個(gè)同名的方法,但要求每個(gè)方法具有不同的參數(shù)的類型或參數(shù)的個(gè)數(shù)。調(diào)用重載方法時(shí),Java編譯器能通過(guò)檢查調(diào)用的方法的參數(shù)類型和個(gè)數(shù)選擇一個(gè)恰當(dāng)?shù)姆椒ā?百度百科)

簡(jiǎn)單來(lái)說(shuō)可以根據(jù)不同的需求使用不同的參數(shù)創(chuàng)建對(duì)象!

方法重載(overload)是指在一個(gè)類中定義多個(gè)同名的方法,但要求每個(gè)方法具有不同的參數(shù)的類型或參數(shù)的個(gè)數(shù)。

public class OverloadTest01 {
    public static void main(String[] args) {

        System.out.println(sum(10,20));

        System.out.println(sum(20.0,30.0));
        System.out.println(sum(20L,50L));
    }

    public static int sum(int a,int b) {
        return a+b;
    }
    public static double sum(double a,double b){
        return  a+b;
    }
    public static long sum(Long a,Long b){
        return a+b;
    }
}

代碼滿足以下三個(gè)條件的時(shí)候構(gòu)成方法重載

① 在同一個(gè)類當(dāng)中。

② 方法名相同。

③ 參數(shù)列表不同:個(gè)數(shù)不同算不同,順序不同算不同,類型不同也算不同。

public class OverloadTest02 {
    public static void main(String[] args) {
        m1();
        m1(10,20.0);
        m2(20.0,10);
        //m5();
        //m6();
    }
    public static void m1(){

    }
    public static void m1(int a,double b){
        System.out.println("int a,double b");
    }
    public static void m2(double a,int b){
        System.out.println("double a,int b");
    }
    /*

    public static int m5(){
        return 1;
    }
    public static double m5(){
        return 1.0;
    }
    public static void m6(){

    }
    static void m6(){
        
    }*/
}


int a,double b

double a,int b

從m5,m6可知方法重載與返回值類型,修飾符列表無(wú)關(guān)

引申:我們從System.out.println()中可以體會(huì)到println其實(shí)也是一種方法重載

三.方法重載和方法覆蓋有什么區(qū)別?

方法重載發(fā)生在同一個(gè)類當(dāng)中

方法覆蓋是發(fā)生在具有繼承關(guān)系的父子類之間。

方法重載是一個(gè)類中,方法名相同,參數(shù)列表不同

方法覆蓋是具有繼承關(guān)系的父子類,并且重寫之后的方法必須和之前的方法一致:方法名一致、參數(shù)列表一致、返回值類型一致

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"大家想要了解的-方法的覆蓋和重載",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-08-30 搶座中
  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 玖玖在线资源 | 日本在线一区二区 | 男女很黄很色床视频网站免 | 日本免费视屏 | 午夜视频网站 | 国产福利午夜 | 亚洲综合激情九月婷婷 | 欧美日韩中文视频 | 久久男女 | 国产91在线免费观看 | 日韩字幕一中文在线综合 | 国产激情视频趣趣在线观看的 | 久久久久精彩视频 | 亚洲爱婷婷色婷婷五月 | 亚洲欧美伦理 | 欧美成人一区二区三区 | 99精品国产兔费观看久久99 | 久九九久福利精品视频视频 | 久久91亚洲精品久久91综合 | 99精彩视频 | 国产欧美日韩精品第二区 | 天天插天天舔 | 精品亚洲大全 | 日本在线不卡免费视频一区 | 在线观看精品国产 | xxx大片免费视频 | 色噜噜亚洲精品中文字幕 | 8090色| 久久久久一级片 | 色婷婷精品大视频在线蜜桃视频 | 91热国内精品永久免费观看 | 国产精品久久久久三级 | 久久这里只有精品国产 | 香蕉18xxoo欧美夜视频 | 天天干天天骑 | 久热综合 | 国产真实强j视频在线观看 国产真实偷乱视频在线观看 | ass最极品女人下部pic | 99热久久国产精品这里有全部 | 久久精品亚洲乱码伦伦中文 | 亚洲好视频 |