出處:http://www.aygfsteel.com/crazycy/archive/2006/10/11/74622.html
< 示例1>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21



<練習(xí)>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19


1

2

3

4

5

6

7

8

9

10

11

12

< 示例2>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21



<示例3>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18


1

2

3

分析
多態(tài):
Java 中的函數(shù),除了聲明外 final 的外,都是后期綁定。
所謂綁定是建立“函數(shù)調(diào)用”和“函數(shù)本體”的關(guān)聯(lián)。、
所謂的后期綁定是指執(zhí)行時根據(jù)對象類別而進(jìn)行
多態(tài)僅僅對函數(shù)而言,不對變量而言;
變量的訪問依賴于編譯期引用指向的類型;
方法的訪問依賴于執(zhí)行期對象的類型;
向上轉(zhuǎn)型后,調(diào)用某個函數(shù),若 derived class overriding 了該函數(shù),則會調(diào)用該 derived class 中的函數(shù),否則會調(diào)用 base class 中的函數(shù)。
向上轉(zhuǎn)型后,只能調(diào)用 base class 中被 derived class overriding 的函數(shù),不能調(diào)用 derived class 中 extend 函數(shù)。
即向上轉(zhuǎn)型后,只能調(diào)用 base class 中的方法,不能調(diào)用 derived class 中的擴(kuò)展方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18


1

2

3

4

5


1

2

3

4

5

6
