1. 程式人生 > 其它 >第四章 面向物件(上)3-類的結構之二:-3.3 方法的過載

第四章 面向物件(上)3-類的結構之二:-3.3 方法的過載

1.方法的過載的概念:
定義:在同一個類中,允許存在一個以上的同名方法,只要它們的引數個數或者引數型別不同即可。

2.構成過載的舉例:

//舉例一:
Arrays類中的過載的sort()/binarySearch()

//舉例二:如下4中情況,都是類的方法過載
public void getSum(int i ,int j){}
public void getSum(double d1,double d2){}
public void getSum(String s,int i){}
public void getSum(int i,String s){}

不構成過載的舉例:

//如下3個方法不能與上述4個方法構成過載
public int getSum(int i ,int j){}
public void getSum(int m,int n){}
private void getSum(int i,int j){}

3.如何判斷是否構成過載?
嚴格按照定義判斷:兩同一不同

兩同:同一個類,相同的方法名
不同:形參列表不同:引數個數不同,引數型別不同。而非形參類表中的變數名不同。
跟方法的許可權修飾符、返回值型別、形參變數名、方法體都沒有關係!

4.如果確定類中某一個方法的呼叫:
方法名 ---> 引數列表

面試題:方法的過載和重寫的區別?
其實沒有任何關係,只是命名類似而已。詳細的在繼承後講解方法的重寫
分別解釋清方法的過載和重寫的意思即可。
throws\throw
String\StringBuffer\StringBuilder
Collection \ Collections
final\ finally\ finalize
....

名稱不類似的,也有相同點,需要解釋下
如:
抽象類、介面
sleep()/wait()