1. 程式人生 > >淺談java整合中的final方法重寫和過載問題

淺談java整合中的final方法重寫和過載問題

Question 1:

子類是否可以重寫父類的final方法,答案是:不可以!

父類Person:


子類SubPerson:


Question 2:

子類是否可以過載父類的final方法,答案是可以的!

父類Add 


子類 SubAdd:



Question 3:

過載方法中 int ,char 如何自動適配過載函式的!

Number 1:



輸出結果毫無懸疑: public final char add(char x, char y) 

Number 2:



輸出結果:  public final int add(int x, int y),  char 會轉成int型別然後呼叫int的過載形式。


Number 3:



輸出結果: public final float add(float x, float y)   int過載被註釋掉之後會轉成float型別呼叫float過載形式。

Number 4:



輸出結果: public final float add(float x, float y)   ,因為float型別比int型別精度高,所以呼叫float形式的過載。

Number 5:



輸出結果: public final float add(double x, double y)  ,float找不到float的過載形式,向精度較高的double形式呼叫。

Number 5:



輸出結果: public final float add(float x, float y)   有點困惑,為什麼long型別呼叫了float的過載形式呢?!