面向對象3——方法
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——方法