国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和顺县| 大足县| 贡嘎县| 潜江市| 精河县| 云南省| 麻江县| 邹平县| 北票市| 昌宁县| 黄山市| 河曲县| 社旗县| 蓬安县| 厦门市| 靖江市| 大丰市| 西和县| 谢通门县| 青河县| 普兰县| 凯里市| 文水县| 平果县| 灌云县| 麦盖提县| 庐江县| 祁阳县| 甘谷县| 盖州市| 赣州市| 浦县| 湘潭市| 绵阳市| 博野县| 托克逊县| 建瓯市| 耒阳市| 招远市| 全椒县| 兴城市|