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

首頁 > 編程 > Java > 正文

淺談java多態的實現主要體現在哪些方面

2019-11-26 13:46:36
字體:
來源:轉載
供稿:網友

thinking in java3中的多態

People are often confused by other, non-object-oriented features of Java, like method overloading, which are sometimes presented as object-oriented. Don't be fooled: If it isn't late binding, it isn't polymorphism

按文面翻譯

人們總是被java的另一種非面向對象的特性所困惑,就像方法重載,有時候它以面向對象而存在,請不要犯傻,如果沒有后期綁定(也就是運行期的動態綁定),它就不是多態.

所以,這段話要表達的意思就是說,多態要有動態綁定,否則就不是多態,方法重載也不是多態(因為方法重載是編譯期決定好的,沒有后期也就是運行期的動態綁定)

當滿足這三個條件 1.有繼承  2. 有重寫  3. 要有父類引用指向子類對象

<span style="font-size:14px;"> 例:public class Address {private String name;public Address(String name){this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}定義基類(抽象類):public abstract class Vehicle {abstract void go(Address address);}Car對于基類的實現:public class Car extends Vehicle{@Overridepublic void go(Address address){System.out.println("Car to " + address.getName());}}Plane對于基類的實現:public class Plane extends Vehicle{@Overridevoid go(Address address) {System.out.println("Plane to " + address.getName());}}Driver中多態:public void drive(Vehicle v){ ///多態,父類引用指向子類對象,實際傳過來的是抽象類Vehicle的子類,或者實現類,然后編譯器會根據具體實現類,來找實現方法。v.go(new Address("杭州(abstract)")); ///此方法在具體的實現中被重寫}Test:public static void main(String[] args) {Driver d = new Driver();d.drive(new Plane()); //實際是Plane對象,則編譯器就會找到Plane中,對go的實現d.drive(new Car()); //實際是Car對象,則編譯器就會找到Plane中,對go的實現}輸出結果:Plane to 杭州(abstract)Car to 杭州(abstract)</span>

多態:就是指相同的事物的不同狀態,比如:水。水可以有三種狀態:

氣體、液體和固體。那么在JAVA中的多態也可以理解成這個意思,就是:

將父對象設置成為和一個或多個它的子對象相等的技術,

比如Parent=Child;

多態性使得能夠利用同一類(父類)引用不同類的對象,

以及根據所引用對象的不同,以不同的方式執行相同的操作。

多態實現包括兩種方式:重載和重寫

例如:Animal a = new Tiger(); 這是一個老話題了,呵呵……

父類引用指向子類對象,Animal類中包含一個eat()方法,而Tiger類繼承自

Animal類,如果子類重寫了父類的eat()方法,則調用的時候,就可以按照子類

的形式調用,本質上是父類的方法,但是子類重寫之后,就成了另一種方式,這就是多態。

以上就是小編為大家帶來的淺談java多態的實現主要體現在哪些方面的全部內容了,希望對大家有所幫助,多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖南省| 怀远县| 东丰县| 安庆市| 新巴尔虎右旗| 合山市| 岳普湖县| 勐海县| 贡觉县| 措勤县| 易门县| 辉县市| 乌鲁木齐县| 兰溪市| 江都市| 平湖市| 奈曼旗| 宽城| 信阳市| 新沂市| 民丰县| 巴南区| 丽水市| 和平县| 保定市| 泗水县| 临西县| 浮山县| 禹州市| 茌平县| 新源县| 定州市| 蓬安县| 兴文县| 资源县| 佳木斯市| 台东县| 修武县| 礼泉县| 永靖县| 北辰区|