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

首頁(yè) > 編程 > Java > 正文

Java靜態(tài)方法不具有多態(tài)性詳解

2019-11-26 14:15:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

動(dòng)態(tài)綁定機(jī)制使得基類的引用能夠指向正確的子類對(duì)象,從而使得面向基類編程成為可能。

然而動(dòng)態(tài)綁定在以下兩種情況會(huì)失效。

1、基類方法是private或final修飾的

這個(gè)很好理解,因?yàn)閜rivate說(shuō)明該方法對(duì)子類是不可見(jiàn)的,子類再寫一個(gè)同名的方法并不是對(duì)父類方法進(jìn)行復(fù)寫(Override),而是重新生成一個(gè)新的方法,也就不存在多態(tài)的問(wèn)題了。同理也可以解釋final,因?yàn)榉椒ㄍ瑯邮遣豢筛采w的。

2、方法是static修飾的

代碼如下所示.

class Base {  public static void staticMethod() {    System.out.println("Base staticMehtod");  }  public void dynamicMehtod() {    System.out.println("Base dynamicMehtod");  }}class Sub extends Base {  public static void staticMethod() {    System.out.println("Sub staticMehtod");  }  public void dynamicMehtod() {    System.out.println("Sub dynamicMehtod");  }}public class TJ4 {  public static void main(String args[]) {    Base c = new Sub();    c.staticMethod();    c.dynamicMehtod();  }}/* OutPut: Base staticMehtod Sub dynamicMehtod */

輸出結(jié)果并不像設(shè)想的那樣,輸出 "Sub staticMehtod"。因?yàn)殪o態(tài)方法是與類而不是與某個(gè)對(duì)象相關(guān)聯(lián),c.staticMethod();等同于Car.staticMethod(); 所以盡量不要使用實(shí)例變量去調(diào)用靜態(tài)方法,避免混淆。

以上這篇Java靜態(tài)方法不具有多態(tài)性詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 牙克石市| 双牌县| 泌阳县| 绥阳县| 桂平市| 安多县| 色达县| 阜城县| 报价| 巴中市| 井陉县| 鄱阳县| 驻马店市| 卢龙县| 泸水县| 那坡县| 荣昌县| 台山市| 梅河口市| 永福县| 沂水县| 山东| 宕昌县| 南投市| 静安区| 远安县| 手游| 遵义市| 东莞市| 扶风县| 林芝县| 渑池县| 泸溪县| 上饶市| 上虞市| 古交市| 太仆寺旗| 太仆寺旗| 固始县| 惠安县| 泗水县|