多態(tài)性


1、多態(tài)性的體現(xiàn):
????方法的重載和重寫
????對象的多態(tài)性
2、對象的多態(tài)性
????向上轉(zhuǎn)型:程序會自動完成
????????父類 父類對象 = 子類實例
????向下轉(zhuǎn)型:強制類型轉(zhuǎn)換
????????子類 子類對象 = (子類)父類實例

public class A {
  public void tell1() {
    System.out.println("A----tell1");
  }
  public void tell2() {
    System.out.println("A----tell2");
  }
}

public class B extends A {
  public void tell1() {
    System.out.println("B----tell1");
  }
  public void tell3() {
    System.out.println("B----tell3");
  }
}

public class Demo {
  public static void main(String[] args) {
    // 向上轉(zhuǎn)型
    B b = new B();
    A a = b;
    a.tell1(); // 因為tell1方法被B類重寫了,所以調(diào)用的是重寫之后的方法
    a.tell2();
    // Output result:
    // B----tell1
    // A----tell2
    // 向下轉(zhuǎn)型
    A a = new B(); // 注意此處是 new B(),因為如果 new A() ,那么new出來的對象與B是沒有什么直接關(guān)系的,因此 進(jìn)行強轉(zhuǎn)時會報錯:不能轉(zhuǎn)換為B類型
    B b = (B)a;
    b.tell1();
    b.tell2();
    b.tell3();
    // Output result:
    // B----tell1
    // A----tell2
    // B----tell3
  }
}

接口當(dāng)中只允許存在抽象方法

interface USB {
  void start(); // 可以省略 public abstract
  void stop();
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 時間:2018-07-21 作者:魏文應(yīng) 一、對象的多態(tài)性 看上面代碼,你會發(fā)現(xiàn),一般我們是 Person p ...
    秋的懵懂閱讀 246評論 0 0
  • 面向?qū)ο蟮奶卣魅憾鄳B(tài)性 1、多態(tài)性指的是什么?多態(tài)性,可以理解為一個事物的多種表現(xiàn)形態(tài)。 1)方法的重載與重寫 ...
    Girl_endless閱讀 424評論 0 2
  • 一、基本概念 Java是一門面向?qū)ο蟮某绦蛟O(shè)計語言,因為Java具備面向?qū)ο蟮娜齻€基本特征:封裝、繼承和多態(tài)。這三...
    小李彈花閱讀 504評論 0 0
  • 現(xiàn)在已經(jīng)學(xué)習(xí)完了關(guān)于繼承的所有概念,但是并不意味著只要使用繼承就可以實現(xiàn)代碼的全部重用,而在繼承之后又有了一個重要...
    河神_6961閱讀 289評論 0 0
  • 陽臺部分相信很多業(yè)主都會封起來,封起來有什么好處呢? 首先是防盜作用 相信很多人的第一目的就是為了防止偷到的情況,...
    名字都被用了用啥閱讀 446評論 0 0

友情鏈接更多精彩內(nèi)容