国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java中的多態用法實例分析

2019-11-26 15:12:56
字體:
來源:轉載
供稿:網友

本文實例講述了Java中的多態用法。分享給大家供大家參考。具體分析如下:

多態,是面向對象的程序設計語言最核心的特征。封裝性、繼承性都比較簡單,所以這里只對多態做一個小小的筆記。。。

1、什么是多態?

多態意味著一個對象可以多重特征,可以在特定的情況下,表現出不同的狀態,從而應對不同的屬性和方法。在Java中,多態的實現指的是使用同一個實現接口,以實現不同的對象實例。

例如,我們定義一個Parent類,再定義一個getName()方法返回一個字符串,定義一個形參為Parent類型的成員方法doSomething(Parent obj),在這個方法中調用obj.getName()。然后再定義兩個類A和B,都從Parent類繼承而來,在子類中重寫getName()方法。最后在main方法中創建一個Parent類的對象objP,調用objP.doSomething()方法并向其傳遞class A,和class B 的引用。觀察輸出結果。

class Parent {   private String name = "parent";   public String getName()   {     return this.name;   }   public void doSomething(Parent obj)   {     //輸出類名     System.out.println(obj.getName());   }   public static void main(String[] args)   {     Parent objP = new Parent();     objP.doSomething(new A()); // 傳遞A的引用,則調用的是A類的getName方法    objP.doSomething(new B()); // 傳遞B的引用,則調用的是B類的getName方法  } } class A extends Parent {   private String name = "class A";   //@重寫getName()方法   public String getName()   {     return this.name;   } } class B extends Parent {   private String name = "class B";   //@重寫getName()方法   public String getName()   {     return this.name;   } }

可見,父類的doSomething方法多態地調用了我們傳遞的對象的getName方法,而不是Parent類本身的getName方法。

2、Java中的接口

Java中的接口,是一系列方法的聲明。一個接口只有方法的特征,而沒有方法的實現。這些方法可以從別處通過特定的類來實現。在Java中,用關鍵字interface來聲明一個接口。

用接口實現多態的實例:

interface Name {   //只聲明,不實現   public String getName(); } class A implements Name {   private String name = "class A";   //實現getName方法   public String getName()   {     return name;   } } class B implements Name {   private String name = "class B";  //實現getName方法   public String getName()   {     return name;   }   public static void main(String[] args)  {     Name obj = new A();     System.out.println(obj.getName());  } }

可以看到,打印出了類A的名字class A。

PS:一個類如果沒有實現接口中的所有方法,那么這個類必須被聲明為abstract(抽象的)。一個abstract類是不允許實例化對象的。

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高陵县| 双牌县| 乐都县| 宁强县| 象州县| 岳池县| 淄博市| 石首市| 寿阳县| 屏东县| 汝城县| 定州市| 磐安县| 新竹市| 大兴区| 长垣县| 鹤峰县| 吉水县| 龙陵县| 高安市| 长海县| 天气| 呈贡县| 濉溪县| 宕昌县| 济南市| 桃园县| 张家川| 樟树市| 漯河市| 永善县| 芷江| 定边县| 商洛市| 宁海县| 绥中县| 黄陵县| 五大连池市| 延吉市| 玉屏| 兰西县|