重載的概念
在同一個類中,允許存在一個以上的同名的方法,只要它們的參數個數或者參數類型不同的話就行。
重載的特點
與返回值類型無關,只看參數列表,且參數列表必須不同。(參數個數、參數類型、參數排列順序)
理解:就只要參數列表不要完全一樣就行。和返回值類型無關。重載應該是為了解決方法名相同的問題。
方法的可變個數的形參
在遇到不知道要給方法傳遞多少個參數的時候就要考慮到使用可變個數的形參方式。比如統計一個錢包里裝了什么東西,有的錢包可能只裝了錢,但是其它的還會有銀行卡,甚至還會在里面放照片。
可變參數:是指定部分類型的參數的個數可以變為多個,而不是參數的類型也可變。
使用數組來作為形參去定義方法:public static void test(int a,String[] args) 創建對象的時候要初始化值
以可變個數形參來定義方法:public static void test(int a,String... args) 創建對象的時候不必初始化值。
如果有多個類型的參數,可變參數一定要放在最后。比如除了可變參數類型還會有int類型,String類型等等。
方法的參數傳遞
方法必須需要類或對象調用才有意義。
形參:方法聲明時的參數。決定這個方法可以放入哪些類型的數據,可以放多少數據。就相當於決定方法的容量和要裝的東西。
實參:方法調用時實際傳遞給形參的參數值。相當於依照要求實際放入方法中的東西。
java的實參值是如何傳入方法的呢?(主要引用數據類型與基礎數據類型的區別)
java里方法的參數傳遞方式只有一種:值傳遞。就是將實際參數值的副本(復制品)傳入方法內,而參數本身不受影響。
方法的參數傳遞
1、如果方法的形參是基本數據類型,那么實參(實際的數據)向形參傳遞參數時,就是直接傳遞值,把實參的值賦值給形參。
2、如果方法的形參是對象,那么實參(實際的對象),向形參傳遞參數時,也是把值給形參,這個值是實參在棧內存中的值,也就是引用對象在堆內存中的地址。
基本數據類型都是保存在棧內存中,引用對象在棧內存中保存的是引用對象的地址,那么方法的參數傳遞是傳遞值(是變量在棧內存當中的值)。