1. 程式人生 > >面向對象3——方法

面向對象3——方法

ima 實際參數 初始 不可 對象 oid str 列表 ring

1.方法所屬性

。方法不能獨立存在。Static修飾屬於類,否則屬於對象

2.傳參機制

。值傳遞

。。將實際參數的副本傳入方法,參數本身不會受到影響

技術分享圖片

。。在調用swap方法後a,b值不變

。引用傳遞

技術分享圖片

。。swap中的引用sw和main中的引用dw指向同一對象DataSwrap

3.形參個數可變的方法

。Java允許定義形參個數可變的參數,從而允許為方法指定數量不確定的形參

。在定義方法時,在最後一個形參類型後面添加三點(…),則表明該形參可接受多個參數值,多個參數值被當做數組傳入

。例

技術分享圖片

。。例中所定義的public void test(int a,String... books);等同於public void test(int a,String[] books);

*調用時候數組初始化test(5,new String[]{“book1”,”book2”});

*對比方法調用,使用形參可變方法更為簡潔

4.遞歸方法

。方法體內包含調用自身;隱式循環

5.方法重載

。Java允許同一個類裏定義多個同名方法,只要形參列表不同就可以

。Java確定要素

。。調用者——類/對象

。。方法名——方法的標識

。。形參列表——調用時,根據傳入的實參進行匹配

。方法重載要求:同一類中方法名相同,形參列表不同

。。重載與方法返回值、修飾符等無關

。重載方法包含長度可變的形參

技術分享圖片

。。當定義了同類型的可變長度形參和不可變長度形參重載方法時,不可變長度的形參長度不能是不可變長度形參重載方法

*即如例子中只有一個字符串參數的調用只能是屬於第一個方法,而不能是第二個形參長度可變的方法

。。常在方法不建議使用形參參數可變的方法,容易降低可讀性

面向對象3——方法