方法:
就是完成特定功能的代碼塊,不能嵌套聲明,不能寫在類外面
定義格式:
修飾符 返回值類型 方法名(參數(shù)類型 參數(shù)名1,參數(shù)類型 參數(shù)名2){
方法體;
return 返回值;}
修飾符 public static
返回值類型 用于限定返回值的數(shù)據(jù)類型
方法名 為了方便我們調(diào)用方法的名字可以跟類同名
參數(shù)類型 用于限定調(diào)用方法時傳入的數(shù)據(jù)類型
參數(shù)名(形參) 用于接收調(diào)用方法時傳入的數(shù)據(jù)的變量可以多個也可以一個沒有
方法體 完成功能的代碼
return 結(jié)束方法,并把返回值返回給調(diào)用者
返回值類型 明確功能結(jié)果的數(shù)據(jù)類型
參數(shù)列表 明確有幾個參數(shù),以及參數(shù)的數(shù)據(jù)類型
單獨調(diào)用: sum(10,20); 沒有意義
輸出調(diào)用: system.out.println(sum(10,20));有意義,但是不能進行下一步操作
賦值調(diào)用:int i = sum(10,20);
void無返回值類型只能單獨調(diào)用
方法分類:
無參數(shù)方法
有參方法:
基本數(shù)據(jù)類型
引用數(shù)據(jù)類型
根據(jù)返回值類型:
有返回值的方法:
返回值類型為基本數(shù)據(jù)類型
返回值類型為引用數(shù)據(jù)類型
無返回值的方法:
返回值類型使用void關(guān)鍵字無返回值:
對于無返回值類型的方法,它不向本方法外部返回任何值。
定義這樣的方法時,聲明方法返回類型的位置不能省略不寫,而應(yīng)該用關(guān)鍵字void來代替,即 “空”的意思。
方法參數(shù)和返回值
有參方法:形參必須注明數(shù)據(jù)類型作用域:
方法參數(shù)的生命周期是方法語句塊。
方法的參數(shù)是已經(jīng)初始化
完成并賦值,因此在方法中可以參與運算。
方法返回值:
使用return關(guān)鍵字,完成方法的返回值
遇到return語句,方法結(jié)束執(zhí)行,后續(xù)語句不執(zhí)行。
因此在方法中return語句只能執(zhí)行一次。
方法的返回值,必須與方法聲明中的返回值類型匹配所謂調(diào)用方法,其實就是給方法的入口傳入一些值(參數(shù)),
然后在出口得到方法執(zhí)行的結(jié)果(返回值)。注意:需要根據(jù)方法名稱調(diào)用方法,方法只有在被調(diào)用后才生效。方法調(diào)用分類:
按照參數(shù):無參方法的調(diào)用
有參方法的調(diào)用按照返回值:無返回值方法的調(diào)用
有返回值方法的調(diào)用按照位置(下一章講解):
同一個類中方法調(diào)用
不同類中方法調(diào)用定義方法:定義的方法可以被多次調(diào)用。
調(diào)用方法:定義方法中的代碼,只有在調(diào)用后才生效。
有參無返回值方法調(diào)用調(diào)用有參方法:給方法的入口傳入一些值(實參),給方法傳入?yún)?shù)的過程,稱為“傳參”。方法傳參的過程就是把實參賦值給對應(yīng)的形參的過程,因此要求
實參和形參的數(shù)量、類型、順序必須匹配。調(diào)用方法時,實參直接在括號中,不需要類型聲明。
實參可以是常量,也可以是有值的變量。
有參有返回值方法調(diào)用該方法有返回值,調(diào)用方法可以得到該方法的返回值,然后賦值給與方法返回值類型相同的變量
方法注意問題
1、形參必須注明數(shù)據(jù)類型;
2、實參直接寫,不需要類型聲明;
3、return只能返回一次;
4、遇到return語句,方法結(jié)束執(zhí)行,后續(xù)語句不執(zhí)行;5、方法的返回值,必須與方法聲明中的返回值類型匹配;
6、方法定義,不能寫在main()中;
7、方法是不能嵌套的。
方法的參數(shù)如果是基本數(shù)據(jù)類型:
形式參數(shù)的改變不影響實際參數(shù)
形參:用于接收實際參數(shù)的變量
實參:實際參與運算的變量
如果參數(shù)是引用數(shù)據(jù)類型:形參的改變直接影響實際參數(shù)
overload重載
要求:
1、與修飾符、返回值類型無關(guān)
2、方法名必須相同
3、參數(shù)列表不同
①參數(shù)個數(shù)不同
②參數(shù)類型不同
③參數(shù)順序不同
在調(diào)用方法的時候,java會通過參數(shù)列表的不同
來區(qū)分同名的方法
方法的覆蓋(重寫)
要求:
1、相同的方法名
2、相同的參數(shù)列表(參數(shù)個數(shù),參數(shù)類型,參數(shù)順序)
3、相同的返回值類型
4、子類覆蓋方法的訪問權(quán)限要不小于父類中被覆蓋方法的訪問權(quán)限