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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java多態性的例子

Java多態性的例子

更新時間:2022-06-08 11:27:30 來源:動力節點 瀏覽2744次

動力節點小編來給大家舉Java多態性的例子,多態性是OOP的功能之一,它允許我們以不同的方式執行單個操作。例如,假設我們有一個Animal有方法的類sound()。因為這是一個通用類,所以我們不能給它一個實現,比如:Roar、Meow、Oink 等。我們必須給出一個通用的消息。

public class Animal{   ...
   public void sound(){
      System.out.println("Animal is making a sound");   
   }
}

現在假設我們是 Animal 類的兩個子類:Horse它Cat擴展了Animal類。我們可以像這樣為相同的方法提供實現:

public class Horse extends Animal { ... @Override public void sound (){ System . 出來。println ( "鄰居" ); } }    

public class Cat extends Animal{
...
    @Override
    public void sound(){
        System.out.println("Meow");
    }
}

正如你所看到的,雖然我們對所有子類都有共同的行動,sound()但有不同的方式來做同樣的行動。這是多態性的完美示例(允許我們以不同方式執行單個操作的功能)。只調用通用 sound() 方法是沒有任何意義的,因為每個 Animal 都有不同的聲音。因此我們可以說這個方法執行的動作是基于對象的類型。

示例 1:Java 中的多態性

運行時多態示例:

Animal.java

public class Animal{
   public void sound(){
      System.out.println("Animal is making a sound");   
   }
}

Horse.java

class Horse extends Animal{
    @Override
    public void sound(){
        System.out.println("Neigh");
    }
    public static void main(String args[]){
    	Animal obj = new Horse();
    	obj.sound();
    }
}

輸出:

Neigh

Cat.java

public class Cat extends Animal{
    @Override
    public void sound(){
        System.out.println("Meow");
    }
    public static void main(String args[]){
    	Animal obj = new Cat();
    	obj.sound();
    }
}

輸出:

Meow

示例 2:編譯時多態性

另一方面,方法重載是一個編譯時多態性示例。

class Overload
{
    void demo (int a)
    {
       System.out.println ("a: " + a);
    }
    void demo (int a, int b)
    {
       System.out.println ("a and b: " + a + "," + b);
    }
    double demo(double a) {
       System.out.println("double a: " + a);
       return a*a;
    }
}
class MethodOverloading
{
    public static void main (String args [])
    {
        Overload Obj = new Overload();
        double result;
        Obj .demo(10);
        Obj .demo(10, 20);
        result = Obj .demo(5.5);
        System.out.println("O/P : " + result);
    }
}

這里方法demo()重載了 3 次:第一個方法有 1 個 int 參數,第二個方法有 2 個 int 參數,第三個方法有 double 參數。調用哪個方法取決于我們在調用方法時傳遞的參數。這發生在運行編譯時,因此這種類型的多態性稱為編譯時多態性。

輸出:

a : 10 
a和b : 10 , 20雙a : 5.5 
O / P : 30.25

以上就是小編舉的Java多態性的例子,大家如果想了解更多相關知識,不妨來關注一下動力節點的Java視頻教程,里面的課程內容從入門到精通,細致全面,通俗易懂,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产伦久视频免费观看 视频 | 在线播放波多野结衣 | 亚洲日本va中文字幕在线不卡 | 九九久久久久午夜精选 | 久久久久国产精品免费免费 | 在线观看视频中文字幕 | 中文字幕精品在线视频 | 中文字幕精品亚洲无线码二区 | 不卡中文 | 极品吹潮视频大喷潮tv | 在线观看免费精品国产 | 成人午夜在线观看 | 久久99精品一级毛片 | 欧美成人午夜精品一区二区 | 欧美日韩在线观看区一二 | 亚洲欧洲日本在线 | 免费一级毛片麻豆精品 | 欧美骚视频| 91国视频在线观看 | 青青久草在线视频 | 亚洲看黄| 国产在线视频凹凸分类 | 国产成人免费手机在线观看视频 | 在线播放国产视频 | 伊人久久在线观看 | 久青草网站 | 国产人成久久久精品 | 久久综合九色综合国产 | 成人欧美一区二区三区黑人3p | 天天干夜夜爱 | 在线免费福利 | 国产亚洲精品一区999 | 免费国产一级特黄aa大片在线 | 久久精品爱国产免费久久 | 国内久久精品视频 | 日本黄色免费网址 | 中文字幕在线观看2023 | 亚洲国产日韩a在线亚洲 | 亚洲乱码在线视频 | 久久99九九精品免费 | 国产精品久久自在自线观看 |