方法重載 overloading 的要求:

 

一、方法必須同名

二、參數必須不同。 參數不同包括參數類型不同,參數個數不同,只要有一種不同就可以了

三、返回值可以相同或不同。在有多個同名方法的情況下,是根據參數不同,選擇那個方法調用,而不是返回值

 

方法覆蓋 overridden 的要求:

 

1)發生在父子類中;

2)同名、同參、同返回值

3)訪問權限跟父類相同或更寬;不能比父類更封閉;例如父類中有一個 public void show(); 在子類中有一個方法覆蓋:private void show(); 就會出錯

4)子類方法拋出異常的類型不能比父類方法更寬泛;例如父類中有一個 public void show() throws IOException; 在子類中有一個方法覆蓋:private void show() throws Exception; 就會出錯

 

就方法覆蓋的第3)條可以理解為兒子必須比老子更開放

 

第4)條可以理解為兒子必須比老子范的錯誤更小

 

這就叫進步啊



ExtJS教程- Hibernate教程-Struts2 教程-Lucene教程