程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java靜態辦法不具有多態性詳解

Java靜態辦法不具有多態性詳解

編輯:關於JAVA

Java靜態辦法不具有多態性詳解。本站提示廣大學習愛好者:(Java靜態辦法不具有多態性詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java靜態辦法不具有多態性詳解正文


靜態綁定機制使得基類的援用可以或許指向准確的子類對象,從而使得面向基類編程成為能夠。

但是靜態綁定在以下兩種情形會掉效。

1、基類辦法是private或final潤飾的

這個很好懂得,由於private解釋該辦法對子類是弗成見的,子類再寫一個同名的辦法其實不是對父類辦法停止復寫(Override),而是從新生成一個新的辦法,也就不存在多態的成績了。同理也能夠說明final,由於辦法異樣是弗成籠罩的。

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
 */

輸入成果其實不像假想的那樣,輸入 "Sub staticMehtod"。由於靜態辦法是與類而不是與某個對象相干聯,c.staticMethod();同等於Car.staticMethod(); 所以盡可能不要應用實例變量去挪用靜態辦法,防止混雜。

以上這篇Java靜態辦法不具有多態性詳解就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved