這部分可以說是java的靈魂颖医。它的實現(xiàn)原理其實不是很復(fù)雜:動態(tài)綁定庐完。但在java中有一套強大多態(tài)運用的體系,其中涵蓋了引用類型分井、參數(shù)類型傳遞车猬、協(xié)變返回類型和基本數(shù)據(jù)類型等
引用類型的自動轉(zhuǎn)換:
1、子類實例父類引用
Father p = new Son();
2尺锚、使用對象類型的接口作為引用
3珠闰、使用對象類型父類的接口作為引用
第三點的例子:
public class ClassCast implements Comparable{
public void show(){}
@Override
public int compareTo(String o) {
System.out.println("比較器比較");
return 0;
}
public static void main(String[] args) {
Comparablea = new Son();
a.compareTo("11");
}
}
class Son extends ClassCast {
}
強制類型轉(zhuǎn)換:
1、子類引用瘫辩、父類實例
Son s = (Son) new Father();
參數(shù)的傳遞:
1伏嗜、父類引用參數(shù)可直接接收子類實例。
2伐厌、接口引用參數(shù)可以直接接收實現(xiàn)了這個接口的實例
從這兩點看承绸,似乎和自動類型轉(zhuǎn)換是一致的。
協(xié)變返回類型:
1挣轨、返回可以是設(shè)定類型的子類實例
數(shù)據(jù)類型的自動轉(zhuǎn)換:
有空再寫