欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2016年06月02日 16:57:43   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Java靜態(tài)方法不具有多態(tài)性詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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

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

1、基類(lèi)方法是private或final修飾的

這個(gè)很好理解,因?yàn)閜rivate說(shuō)明該方法對(duì)子類(lèi)是不可見(jiàn)的,子類(lèi)再寫(xiě)一個(gè)同名的方法并不是對(duì)父類(lèi)方法進(jìn)行復(fù)寫(xiě)(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)方法是與類(lè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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC 傳日期參數(shù)到后臺(tái)的實(shí)例講解

    SpringMVC 傳日期參數(shù)到后臺(tái)的實(shí)例講解

    下面小編就為大家分享一篇SpringMVC 傳日期參數(shù)到后臺(tái)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Java8新特性之默認(rèn)方法和靜態(tài)方法

    Java8新特性之默認(rèn)方法和靜態(tài)方法

    這篇文章主要給大家介紹了關(guān)于Java8新特性之默認(rèn)方法和靜態(tài)方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java中Spring WebSocket詳解

    Java中Spring WebSocket詳解

    本篇文章主要通過(guò)代碼給大家詳細(xì)分析了Java中Spring WebSocket的用法,需要的讀者們參考學(xué)習(xí)下吧。
    2017-12-12
  • java實(shí)現(xiàn)二維碼掃碼授權(quán)登陸

    java實(shí)現(xiàn)二維碼掃碼授權(quán)登陸

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)二維碼掃碼授權(quán)登陸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 關(guān)于@Component注解的含義說(shuō)明

    關(guān)于@Component注解的含義說(shuō)明

    這篇文章主要介紹了關(guān)于@Component注解的含義說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringMVC學(xué)習(xí)之JSON和全局異常處理詳解

    SpringMVC學(xué)習(xí)之JSON和全局異常處理詳解

    在項(xiàng)目上線之后,往往會(huì)出現(xiàn)一些不可預(yù)料的異常信息,對(duì)于邏輯性或設(shè)計(jì)性問(wèn)題,開(kāi)發(fā)人員或者維護(hù)人員需要通過(guò)日志,查看異常信息并排除異常,這篇文章主要給大家介紹了關(guān)于SpringMVC學(xué)習(xí)之JSON和全局異常處理的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • UrlDecoder和UrlEncoder使用詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    UrlDecoder和UrlEncoder使用詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了UrlDecoder和UrlEncoder使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • SpringBoot集成Redis實(shí)現(xiàn)驗(yàn)證碼的簡(jiǎn)單案例

    SpringBoot集成Redis實(shí)現(xiàn)驗(yàn)證碼的簡(jiǎn)單案例

    本文主要介紹了SpringBoot集成Redis實(shí)現(xiàn)驗(yàn)證碼的簡(jiǎn)單案例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java經(jīng)典排序算法之插入排序代碼實(shí)例

    Java經(jīng)典排序算法之插入排序代碼實(shí)例

    這篇文章主要介紹了Java經(jīng)典排序算法之插入排序代碼實(shí)例,插入排序是一種最簡(jiǎn)單直觀的排序算法,它的工作原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入,需要的朋友可以參考下
    2023-10-10
  • 利用logback 設(shè)置不同包下的日志級(jí)別

    利用logback 設(shè)置不同包下的日志級(jí)別

    這篇文章主要介紹了利用logback 設(shè)置不同包下的日志級(jí)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12

最新評(píng)論