多態前提:
- 要有繼承關系。
- 要有方法重寫。
- 要有父類引用指向子類對象。
1、成員變量:編譯看左邊(父類),運行看左邊(父類)
2、成員方法:編譯看左邊(父類),運行看右邊(子類),動態綁定
3、靜態方法:編譯看左邊(父類),運行看左邊(父類)
注:
- 靜態方法和類相關,算不上重寫,所以,訪問還是左邊的(父類)
- 只有非靜態的成員方法,編譯看左邊,運行看右邊
- 虛擬機編譯的時候看的是父類,所以多態有一個弊端:不能使用子類特有的屬性和方法。必須向下轉型之后才可以調用。