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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java多態(tài)性的例子

Java多態(tài)性的例子

更新時(shí)間:2022-06-08 11:27:30 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2820次

動(dòng)力節(jié)點(diǎn)小編來給大家舉Java多態(tài)性的例子,多態(tài)性是OOP的功能之一,它允許我們以不同的方式執(zhí)行單個(gè)操作。例如,假設(shè)我們有一個(gè)Animal有方法的類sound()。因?yàn)檫@是一個(gè)通用類,所以我們不能給它一個(gè)實(shí)現(xiàn),比如:Roar、Meow、Oink 等。我們必須給出一個(gè)通用的消息。

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

現(xiàn)在假設(shè)我們是 Animal 類的兩個(gè)子類:Horse它Cat擴(kuò)展了Animal類。我們可以像這樣為相同的方法提供實(shí)現(xiàn):

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

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

正如你所看到的,雖然我們對(duì)所有子類都有共同的行動(dòng),sound()但有不同的方式來做同樣的行動(dòng)。這是多態(tài)性的完美示例(允許我們以不同方式執(zhí)行單個(gè)操作的功能)。只調(diào)用通用 sound() 方法是沒有任何意義的,因?yàn)槊總€(gè) Animal 都有不同的聲音。因此我們可以說這個(gè)方法執(zhí)行的動(dòng)作是基于對(duì)象的類型。

示例 1:Java 中的多態(tài)性

運(yùn)行時(shí)多態(tài)示例:

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:編譯時(shí)多態(tài)性

另一方面,方法重載是一個(gè)編譯時(shí)多態(tài)性示例。

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 次:第一個(gè)方法有 1 個(gè) int 參數(shù),第二個(gè)方法有 2 個(gè) int 參數(shù),第三個(gè)方法有 double 參數(shù)。調(diào)用哪個(gè)方法取決于我們?cè)谡{(diào)用方法時(shí)傳遞的參數(shù)。這發(fā)生在運(yùn)行編譯時(shí),因此這種類型的多態(tài)性稱為編譯時(shí)多態(tài)性。

輸出:

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

以上就是小編舉的Java多態(tài)性的例子,大家如果想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java視頻教程,里面的課程內(nèi)容從入門到精通,細(xì)致全面,通俗易懂,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。

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

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲精品国产精品精 | porno日本xxxxx视频 | 亚洲欧美另类在线 | 性色视频 | 亚洲日本va中文字幕 | 午夜精品久久久久久久 | 日本一级一片免费 | 久久色精品 | 久久精品欧美一区二区 | 伊人网色| 久久久久久国产视频 | 国产精品九九视频 | 亚洲欧美另类在线观看 | 无遮挡一级毛片呦女视频 | 一级特黄特黄毛片欧美的 | 免费不卡毛片 | 免费国产黄线在线观看视频 | 日韩中文字幕视频在线 | 亚洲图欧美色综合图 | 中文字幕11页 | 国产成a人片在线观看视频99 | 免费观看欧美精品成人毛片能看的 | 天天做天天爱天天爽综合网 | 亚洲热热久久九九精品 | 亚洲精品在线免费看 | 欧美日韩色视频 | 欧美日韩综合视频 | 水蜜桃网站 | 欧美精品成人一区二区视频一 | 99热999 | 日韩欧美亚洲一区精选 | 久久综合九色综合亚洲小说 | 欧美另类网站 | 中文字幕欧美日韩 | 国产高清a毛片在线看 | 日本视频一区二区三区 | 成人毛片免费在线观看 | 午夜三级影院 | 久久不见久久见免费影院 | 婷婷四色| 国产精品久久久久久一区二区 |