方法是類或對象的行爲特徵的抽象,方法是類或對象重要組成部分,java裏面的方法在邏輯上要麼屬於類、要麼屬於對象自己。java
1.方法和函數有着很大類似但也有着不一樣,在結構化語言中,函數是一等的共民,而在java中類纔是一等的公民,方法不能獨立存在,方法必須屬於類或對象。所以定義一個方法必須是在類中,若是這個方法被static修飾了,這個方法屬於類的自己,則可通多類和對象來調用,多個對象調用結果是同樣的。java是靜態的語言,一個類類只要完成後。只要再也不編譯這個類文件,該類和該類的對象所擁有的方法都是固定的,永遠不會改變。Java裏的方法也不能獨立執行,執行方法必須經過類或對象做爲調用者。函數
2.若是聲明方法包含了參數聲明,則調用方法時必須爲該方法形參指定參數值。java裏面傳參是值傳遞,這就是將實際參數值的複製品傳入方法中,無論方法對參數如何操做,參數自己不受任何影響。對象的傳參數是其實就是把對象的引用地址傳給參數。jdk1.5以後容許咱們給方法的參數傳入可變的參數。對象
3.一個方法內調用它自身,被稱爲方法遞歸。方法遞歸包含一種隱式的循環,他只會重複執行某段代碼,但這種重複執行無須循環控制。遞歸必定要向已知的方向遞歸。遞歸
4.方法重載,java容許同一個類裏面定義多個同名的方法,只要形參列表不一樣就好了。若是一個類裏面定義兩個或兩個以上的方法名相同的方法,但形參列表不一樣,則被稱爲方法的重載。一個方法必須有的三要素調用者、方法名、行參列表,而重載要求二同一不一樣。,至於方法的返回值、修飾符等與方法重載沒有任何關係。編譯