古詩詞大全網 - 藝術簽名 - Java多態性問題

Java多態性問題

多態性的好處:

1.可替代性。多態可以替換現有的代碼。例如,多態適用於Circle類,也適用於任何其他圓形幾何圖形,如環。

2.擴展性。多態可擴展到代碼。添加新的子類不影響已有類的多態、繼承和其他特性的操作。事實上,通過添加子類更容易得到多態函數。比如在實現圓錐體、半圓錐體、半球體多態性的基礎上,增加球體的多態性就很容易了。

3.界面能力。多態性是由超類通過方法簽名向子類提供* * *接口來實現的,方法簽名由子類完善或覆蓋。如圖8.3所示。圖中的超類形狀指定了兩個實現多態性的接口方法,computeArea()和computeVolume()。子類,如Circle和Sphere,為了實現多態,對這兩個接口方法進行了改進或覆蓋。

4.靈活性。在應用中體現了靈活多樣的操作,提高了使用效率。

5.簡單。在應用軟件的編碼和修改過程中,尤其是在處理大量對象的運算和操作時,多態簡化顯得尤為突出和重要。

Java中多態性的實現:接口實現,繼承父類的方法重寫,同壹類中的方法重載。

下面是壹個展示多態性使用的小例子:

A級

公共字符串顯示(D obj){

return ("A和D ");

}

公共字符串show(A obj){

return ("A和A ");

}

}

B類擴展了A{

公共字符串顯示(B對象){

return(“B and B”);

}

公共字符串show(A obj){

return ("B和A ");

}

}

C類擴展了B{}

類D擴展了B{}

下面的輸出是什麽?

A a1 =新A();

a a2 = new B();

B B = new B();

C C = new C();

D D = new D();

system . out . println(a 1 . show(b));①

system . out . println(a 1 . show(c));②

system . out . println(a 1 . show(d));③

system . out . println(a2 . show(b));④

system . out . println(a2 . show(c));⑤

system . out . println(a2 . show(d));⑥

system . out . println(b . show(b));⑦

system . out . println(b . show(c));⑧

system . out . println(b . show(d));⑨

回答:

① A和A

② A和A

③ A和D

④ B和A

⑤ B和A

⑥ A和D

⑦ B and B

⑧ B and B

⑨ A和D